Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add "syrconnect" to latest #4381

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

eifel-tech
Copy link

No description provided.

@github-actions github-actions bot added auto-checked This PR was automatically checked for obvious criterias must be fixed The Adapter request got review/automatic feedback that is required to be fixed before another review *📬 a new comment has been added labels Dec 17, 2024
@mcm1957 mcm1957 added new at LATEST REVIEW pending (by mcm1957) and removed *📬 a new comment has been added labels Dec 17, 2024
@mcm1957
Copy link
Collaborator

mcm1957 commented Dec 17, 2024

reminder 24.12.2024

@mcm1957 mcm1957 changed the title Add adapter "syrconnect" to latest Add "syrconnect" to latest Dec 17, 2024
Copy link

Automated adapter checker

ioBroker.syrconnect

Downloads Number of Installations (latest) - Test and Release
NPM

👍 No errors found

  • 👀 [W401] Cannot find "syrconnect" in latest repository

Add comment "RE-CHECK!" to start check anew

@mcm1957
Copy link
Collaborator

mcm1957 commented Jan 22, 2025

To verify the Object structure of this adapter during REVIEW please export the object structure of a working installation and attach the file i. You find a guide how to export the object struture here: https://github.com/ioBroker/ioBroker.repochecker/blob/master/OBJECTDUMP.md

Thanks

@eifel-tech
Copy link
Author

To verify the Object structure of this adapter during REVIEW please export the object structure of a working installation and attach the file i. You find a guide how to export the object struture here: https://github.com/ioBroker/ioBroker.repochecker/blob/master/OBJECTDUMP.md

Thanks

@mcm1957 Here you can have a look of the object structure.

@github-actions github-actions bot added the *📬 a new comment has been added label Jan 23, 2025
@mcm1957 mcm1957 removed must be fixed The Adapter request got review/automatic feedback that is required to be fixed before another review *📬 a new comment has been added labels Jan 24, 2025
@mcm1957
Copy link
Collaborator

mcm1957 commented Jan 24, 2025

@eifel-tech

First of all - THANK YOU for the time and effort you spend to maintain this adapter.

I would like to give some feedback based on my personal oppinion. @Apollon77 might have additional suggestions or even a different oppinion to one or the other statement. Please feel free to contact him if you cannot follow my suggestions or want to discuss some special aspects.

  • Readme.md is very short

    Thanks for providing as very good documentation in german and english. But please add one paragraph directly in README.md describing the purpose of the adapter. Most likely the first paragraph of the english docu will be sufficient.

  • Readme.md should contain a link to the manufacturer and/or device

    The README.md of any adapter related to device or m ultiple devices of a manufacturer should contain a link the manufacturers website and/or to a description of the device. This is to anable new users to easily check wether they associate the adapter with the correct device(s). (See https://github.com/ioBroker/ioBroker.repositories#requirements-for-adapter-to-get-added-to-the-latest-repository paragraph 4.)

  • config parameter webPort at adminUI

    The config parameter webPort specifies a (tcp) port. So this paramater should be of type number. Do you have any special purpos to allow any test entry here?

  • cache known devices / objects

    It looks like every request received causes a getObjectAsync to check if states have been created already. This is an avoidable load to the ioBroker database. Please cache objects already accessed during last start of adapetr to getObjectAsync is only called once per object after start of adapter. See https://github.com/eifel-tech/ioBroker.syrconnect/blob/703f981c6bb2a63bf8297de1936ecadc79d05093/main.js#L337

  • do not subscribe one state more than once

    DO not subscribe identical stateIds nore than once. Especially do not subrive over an over again whenever a state is written. If you subscribe to all states of this adapter it should be sufficient to issue subscribe('*') once at onReady.

  • All objects must be created when using hirarchy

    Your objects are structured hirarchical lex10.nnnnn.ABC. It looks like that neither an object for lex10 nor the serielnumber/id is created. Those objects must follwo the rule device -> channel > state. Device and or channel may be omitted but the must be a maximum of one device and one channel within one leave. Objects of type folder can be placed at any intermediate position.

    But looking at the code the objects should be created. Please check code execution an chack at your object view if a type is listed (device and channel)

Image

  • object info is missing at io-package.json

    Definition and creation of info folder is missing at io.package.json.
    see https://github.com/ioBroker/ioBroker.example/blob/master/JavaScript/io-package.json
    Please add

    "instanceObjects": [
      {
        "_id": "info",
        "type": "channel",
        "common": {
          "name": {
            "en": "Information",
            "de": "Informationen",
            "ru": "Информация",
            "pt": "Informação",
            "nl": "Informatie",
            "fr": "Informations",
            "it": "Informazioni",
            "es": "Información",
            "pl": "Informacje",
            "uk": "Інформація",
            "zh-cn": "资料"
          }
        },
        "native": {}
      },
      ....
    
  • reevaluate state roles

    Only the values specified here (https://github.com/ioBroker/ioBroker.docs/blob/master/docs/en/dev/stateroles.md) may be used as state roles. Do not invent new names as this might disturb the functionalyity of other adapters or vis.

    In addition the roles MUST match the read/write functionality. As an example a role value.* requires that the state is a readable state. Input states (write only) should have roles like level.*. Please read the description carefully. States with role 'button' should (must) have attribute 'common.read=false' set. A button ( "Taster" in german only triggers when you press but else has no state), so it should also be not readable. This is also like HomeMatic does it. A switch has clear states true or false and so can be read.

    Writeable state must not have a role value. Use level instead if not dedictated role is available

  • language used for stateIds and names

    All stateIds must be named using english wording unless the data is directly received from an external source. (Thats ok)
    All names must use either english wording or use i18n multilanguage setup.

    So please change the german names to either english or use i18n objects containing at least english and german translations. You can generate such blocks i.e. by using https://translator-ui.iobroker.in/

  • linter setup

    Please eveluate to use standard iobroker linter setup if acceptable. This is located at @iobroker/eslint-config. See migration guide at https://github.com/ioBroker/ioBroker.eslint-config/blob/main/MIGRATION.md. Note that this point will NOT be blocking - consider it an suggestion only.

Thanks for reading and evaluating this suggestions.
McM1957

Please add a comment when you have reviewed and fixed the suggestionsor at least commented the suggestions and you think the adapter is ready for a re-review!

reminder 31.1.2025

@mcm1957 mcm1957 added must be fixed The Adapter request got review/automatic feedback that is required to be fixed before another review and removed REVIEW pending (by mcm1957) labels Jan 24, 2025
@github-actions github-actions bot added 31.1.2025 remind after 31.1.2025 and removed 24.12.2024 labels Jan 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
31.1.2025 remind after 31.1.2025 auto-checked This PR was automatically checked for obvious criterias must be fixed The Adapter request got review/automatic feedback that is required to be fixed before another review new at LATEST
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants