Ankündigung

Einklappen
Keine Ankündigung bisher.

Support Thread für das Husky2 Plugin

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Support Thread für das Husky2 Plugin

    Dieser Thread dient als Supportforum für von mir aufgesetzte Husky2 Plugin.

    Alle Anregungen und Mängel gerne hier rein schreiben. Weiters ist die Anwenderdokumentation später unter https://www.smarthomeng.de/user/plug.../user_doc.html verfügbar.

    Ab SHNG 1.9.2 ist das Plugin im Master verfügbar.

    Wer sich das ganze vorab schon mal anschauen möchte oder mich beim testen unterstützen möchte, kann inzwischen gerne meinen Fork ( https://github.com/gruberth/plugins/tree/master/husky2 ) benutzen.

    Beste Grüße
    Zuletzt geändert von bmx; 28.05.2022, 10:23. Grund: aktualisiert für SHNG 1.9.2 Release

    #2
    Moin moin,

    ich wollte gerade das neue Plugin testen. Was ist mit: "Nicht vergessen der Applikation dann noch die "Authentication API"und die "Automower Connect API" zu zuweisen." gemeint?

    Gruß Manuel

    Kommentar


      #3
      Halllo,

      wenn du unter https://developer.husqvarnagroup.cloud/apps deine zuvor erstellte Applikation beim Buntstift bearbeitest, siehst du im Bearbeitungsfenster ganz unten den Abschnitt Connected APIs. Dort musst du mit +Connect new API die "Authentication API" und die "Automower Connect API" deinem Key zuweisen. Ohne diese Zuweisung hat der API-Key quasi keine Funktion.

      LG

      Kommentar


        #4
        Hallo,

        zwei Sachen sind mir noch aufgefallen:

        Code:
        WARNING  lib.item.item       Item husky.info.serial: value "170710538" does not match type str. Via husky2 None
        Das Item "husky.state.inoperation" wird bei mir nicht aktualisiert.



        Grüße Tom

        Kommentar


          #5
          Hallo,
          vielen Dank führ Eure Mühe. Wollte ich doch gleich mal testen und bei mir einbinden.
          Habe nach meiner Einschätzung alles nach Anleitung durchgeführt.
          In der Husqvarna-Cloud angezeigte Link zum Test des Token funktioniert auch.
          Dennoch erhalte ich im Log folgende Fehlermeldung. Was könnte noch falsch sein?

          2022-05-24 13:17:49 ERROR lib.plugin Plugin 'husky2' exception in run() method: module 'aioautomower' has no attribute 'AutomowerSession'
          > Traceback (most recent call last):
          > File "/usr/local/smarthome/lib/plugin.py", line 676, in run
          > self.plugin.run()
          > File "/usr/local/smarthome/plugins/husky2/__init__.py", line 260, in run
          > asyncio.run(self.worker())
          > File "/usr/local/lib/python3.8/asyncio/runners.py", line 43, in run
          > return loop.run_until_complete(main)
          > File "/usr/local/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
          > return future.result()
          > File "/usr/local/smarthome/plugins/husky2/__init__.py", line 490, in worker
          > self.apiSession = aioautomower.AutomowerSession(self.apikey, token=None)
          > AttributeError: module 'aioautomower' has no attribute 'AutomowerSession'

          Gruß Matthias

          Kommentar


            #6
            Hallo Matthias.

            Falls du dem Key in der Cloud
            die "Authentication API" zugewiesen hast und es dennoch nicht funktioniert, wird es ein Fehler im Code sein. Kannst du das bitte nochmal prüfen und mir bestätigen, dass die Zuweisung soweit passt?

            Ps.
            Scaramangas ich hab dich nicht vergessen. Ich habs nur zeitlich noch nicht geschaft das zubeheben. Sorry dafür.

            Bin grade sehr beschäftigt. Ich schaue mir beide Probleme nächste Woche genauer an.

            Lg

            Kommentar


              #7
              Ich installiere gerade smarthomeNG neu auf einem Raspberry Pi 4 und möchte auch das Husky2 Plugin mit unserem 435X nutzen. Ich kopierte die Datei items.yaml mit neuem Dateinamen in mein items-Verzeichnis und bekam beim Start diese Fehlermeldungen:

              Code:
              2022-05-28 08:07:23 WARNING lib.metadata Item 'husky_plugin.mower.info.device', attribute 'visu_acl': Invalid value 'r' for attribute 'visu_acl' -> using 'rw' instead (defined in am.yaml)
              2022-05-28 08:07:23 WARNING lib.metadata Item 'husky_plugin.mower.info.model', attribute 'visu_acl': Invalid value 'r' for attribute 'visu_acl' -> using 'rw' instead (defined in am.yaml)
              2022-05-28 08:07:23 WARNING lib.metadata Item 'husky_plugin.mower.info.id', attribute 'visu_acl': Invalid value 'r' for attribute 'visu_acl' -> using 'rw' instead (defined in am.yaml)
              2022-05-28 08:07:23 WARNING lib.metadata Item 'husky_plugin.mower.state.activity', attribute 'visu_acl': Invalid value 'r' for attribute 'visu_acl' -> using 'rw' instead (defined in am.yaml)
              2022-05-28 08:07:23 WARNING lib.metadata Item 'husky_plugin.mower.state.message', attribute 'visu_acl': Invalid value 'r' for attribute 'visu_acl' -> using 'rw' instead (defined in am.yaml)
              2022-05-28 08:07:23 WARNING lib.metadata Item 'husky_plugin.mower.state.color', attribute 'visu_acl': Invalid value 'r' for attribute 'visu_acl' -> using 'rw' instead (defined in am.yaml)
              2022-05-28 08:07:23 ERROR plugins.husky2 value 'color' invalid, use one of ['message', 'state', 'activity', 'mode', 'errormessage', 'batterypercent', 'connection', 'longitude', 'latitude']
              2022-05-28 08:07:23 WARNING lib.metadata Item 'husky_plugin.mower.state.batterypercent', attribute 'visu_acl': Invalid value 'r' for attribute 'visu_acl' -> using 'rw' instead (defined in am.yaml)
              2022-05-28 08:07:23 WARNING lib.metadata Item 'husky_plugin.mower.state.battery255', attribute 'visu_acl': Invalid value 'r' for attribute 'visu_acl' -> using 'rw' instead (defined in am.yaml)
              2022-05-28 08:07:23 ERROR plugins.husky2 command 'start' invalid, use one of ['starttime', 'park', 'park_timer', 'starttime', 'pause', 'parkpermanent', 'parktime', 'parknext', 'resume', 'cuttingheight', 'headlight']
              2022-05-28 08:07:23 ERROR plugins.husky2 command 'start_3h' invalid, use one of ['starttime', 'park', 'park_timer', 'starttime', 'pause', 'parkpermanent', 'parktime', 'parknext', 'resume', 'cuttingheight', 'headlight']
              2022-05-28 08:07:23 ERROR plugins.husky2 command 'stop' invalid, use one of ['starttime', 'park', 'park_timer', 'starttime', 'pause', 'parkpermanent', 'parktime', 'parknext', 'resume', 'cuttingheight', 'headlight']
              In dieser Datei items.yaml findet sich diese Konfiguration (Beispiel):

              Code:
              husky_plugin:
              
                  mower:
                      name: Maehroboter
              
                      info:
                          name: Mower information (not implemented yet)
              
                          device:
                              husky_info: NAME
                              type: str
                              visu_acl: r
              Die Anweisung "visu_acl:r" ist nicht korrekt und müsste "visu_acl:ro" lauten. Damit reduzieren sich die Fehlermeldungen auf:

              Code:
              2022-05-28 08:15:25 ERROR plugins.husky2 value 'color' invalid, use one of ['message', 'state', 'activity', 'mode', 'errormessage', 'batterypercent', 'connection', 'longitude', 'latitude']
              2022-05-28 08:15:25 ERROR plugins.husky2 command 'start' invalid, use one of ['starttime', 'park', 'park_timer', 'starttime', 'pause', 'parkpermanent', 'parktime', 'parknext', 'resume', 'cuttingheight', 'headlight']
              2022-05-28 08:15:25 ERROR plugins.husky2 command 'start_3h' invalid, use one of ['starttime', 'park', 'park_timer', 'starttime', 'pause', 'parkpermanent', 'parktime', 'parknext', 'resume', 'cuttingheight', 'headlight']
              2022-05-28 08:15:25 ERROR plugins.husky2 command 'stop' invalid, use one of ['starttime', 'park', 'park_timer', 'starttime', 'pause', 'parkpermanent', 'parktime', 'parknext', 'resume', 'cuttingheight', 'headlight']
              Hier komme ich nun nicht mehr weiter. Die Items sehen wie folgt aus (1:1 übernommen aus items.yaml aus dem Plugin-Verzeichnis):

              Code:
              husky_plugin:
              
                  mower:
                      state:
                         color:
                            name: Color for the message, e.g 38761D
                            husky_state: color
                            type: str
                            visu_acl: ro
              
                     control:
                        start:
                            name: Start
                            husky_control: START
                            type: bool
                            visu_acl: rw
                            enforce_updates: True
              
                        start_3h:
                            name: Start (Override 3h)
                            husky_control: START_3H
                            type: bool
                            visu_acl: rw
                            enforce_updates: True
              
                        stop:
                            name: Stop
                            husky_control: STOP
                            type: bool
                            visu_acl: rw
                            enforce_updates: True
              Wie müssen hier genau die Eingaben angepasst werden ?

              Ich bin sowohl bei smarthomeNG wie auch bei den Plugins auf "develop".

              Kommentar


                #8
                In den Item Definitionen, die Du gepostet hast, stimmen zumindest die Einrückungen nicht.
                Viele Grüße
                Martin

                There is no cloud. It's only someone else's computer.

                Kommentar


                  #9
                  Habe mich leider nicht mehr an den Trick zum Einfügen von solchen Daten in diesem Forum erinnert. Hier nochmals:

                  Code:
                  husky_plugin:
                  
                      mower:
                          name: Maehroboter
                  
                          info:
                              name: Mower information (not implemented yet)
                  
                              device:
                                  husky_info: NAME
                                  type: str
                                  visu_acl: ro
                  
                              model:
                                  husky_info: MODEL
                                  type: str
                                  visu_acl: ro
                  
                              id:
                                  husky_info: ID
                                  type: str
                                  visu_acl: ro
                  
                          state:
                              name: State information
                  
                              activity:
                                  husky_state: activity
                                  type: str
                                  visu_acl: ro
                  
                              message:
                                  husky_state: message
                                  type: str
                                  visu_acl: ro
                  
                              color:
                                  name: Color for the message, e.g 38761D
                                  husky_state: color
                                  type: str
                                  visu_acl: ro
                  
                              batterypercent:
                                  name: Battery Level 0..100
                                  husky_state: batterypercent
                                  type: num
                                  visu_acl: ro
                  
                              battery255:
                                  name: Battery Level 0..255
                                  type: num
                                  visu_acl: ro
                                  eval: int(value * 255 / 100)
                                  eval_trigger: ..batterypercent
                  
                          control:
                              name: Steuerbefehle
                  
                              start:
                                  name: Start
                                  husky_control: START
                                  type: bool
                                  visu_acl: rw
                                  enforce_updates: True
                  
                              start_3h:
                                  name: Start (Override 3h)
                                  husky_control: START_3H
                                  type: bool
                                  visu_acl: rw
                                  enforce_updates: True
                  
                              stop:
                                  name: Stop
                                  husky_control: STOP
                                  type: bool
                                  visu_acl: rw
                                  enforce_updates: True
                  
                              park:
                                  name: Park
                                  husky_control: PARK
                                  type: bool
                                  visu_acl: rw
                                  enforce_updates: True
                  
                              park:
                                  name: Park until next Timer
                                  husky_control: PARK_TIMER
                                  type: bool
                                  visu_acl: rw
                                  enforce_updates: True

                  Kommentar


                    #10
                    Zitat von manhartm Beitrag anzeigen
                    Habe mich leider nicht mehr an den Trick zum Einfügen von solchen Daten in diesem Forum erinnert.
                    Deshalb gibt es hier im SmartHomeNG Forum diesen Thread, der oben angepinnt ist
                    Viele Grüße
                    Martin

                    There is no cloud. It's only someone else's computer.

                    Kommentar


                      #11
                      So wie ich das sehe, müsste an der Dokumentation noch einiges nachgezogen werden, beispielsweise in der plugin.yaml die erlaubten Schlüsselwörte bei "husky_state".
                      Vielleicht passiert das ja noch nach und nach oder jemand bereitet einen PR dazu vor.

                      Ich würde in der Zwischenzeit mir die struct "basic" mal ansehen die enthalten ist ob die vielleicht out of the box funktioniert.

                      Kommentar


                        #12
                        Zitat von bmx Beitrag anzeigen
                        Ich würde in der Zwischenzeit mir die struct "basic" mal ansehen die enthalten ist ob die vielleicht out of the box funktioniert.
                        Habe aus der Struktur in plugin.yaml ein am.yaml für mein items-Verzeichnis gemacht:

                        Code:
                        am:
                        
                            basic:
                                name: Default Mower Template
                        
                                info:
                                    name: Mower information
                        
                                    device:
                                        husky_info: NAME
                                        type: str
                                        visu_acl: ro
                        
                                    model:
                                        husky_info: MODEL
                                        type: str
                                        visu_acl: ro
                        
                                    id:
                                        husky_info: ID
                                        type: str
                                        visu_acl: ro
                        
                                    serial:
                                        husky_info: SERIAL
                                        type: num
                                        visu_acl: ro
                        
                                state:
                                    name: State information
                        
                                    connection:
                                        name: mower connection state
                                        husky_state: connection
                                        type: bool
                                        visu_acl: ro
                        
                                    inoperation:
                                        name: mower in operation mode
                                        type: bool
                                        visu_acl: ro
                                        eval: "sh...activity() in ['MOWING', 'GOING_HOME', 'LEAVING']"
                                        eval_trigger: ..activity
                        
                                    activity:
                                        name: activity [ UNKNOWN, NOT_APPLICABLE, MOWING, GOING_HOME, CHARGING, LEAVING, PARKED_IN_CS ]
                                        husky_state: activity
                                        type: str
                                        visu_acl: ro
                        
                                    errormessage:
                                        husky_state: errormessage
                                        type: str
                                        visu_acl: ro
                                        initial_value: 'no error'
                        
                                    message:
                                        husky_state: errormessage
                                        type: str
                                        visu_acl: ro
                                        initial_value: 'Ok'
                        
                                    mode:
                                        name: mode [ MAIN_AREA, SECONDARY_AREA, HOME, DEMO, UNKNOWN ]
                                        husky_state: mode
                                        type: str
                                        visu_acl: ro
                        
                                    state:
                                        name: state [ UNKNOWN, NOT_APPLICABLE, PAUSED, IN_OPERATION, WAIT_UPDATING, WAIT_POWER_UP, RESTRICTED, OFF, STOPPED, ERROR, FATAL_ERROR, ERROR_AT_POWER_UP ]
                                        husky_state: state
                                        type: str
                                        visu_acl: ro
                        
                                    batterypercent:
                                        husky_state: batterypercent
                                        type: num
                                        visu_acl: ro
                        
                                    battery255:
                                        type: num
                                        visu_acl: ro
                                        eval: int(value * 255 / 100)
                                        eval_trigger: ..batterypercent
                        
                                    longitude:
                                        name: mower gps longitude
                                        husky_state: longitude
                                        type: num
                                        visu_acl: ro
                        
                                    latitude:
                                        name: mower gps latitude
                                        husky_state: latitude
                                        type: num
                                        visu_acl: ro
                        
                                control:
                                    name: Steuerbefehle
                        
                                    start3H:
                                        name: Start
                                        type: num
                                        husky_control: STARTTIME
                                        visu_acl: rw
                                        initial_value: 180
                                        enforce_updates: True
                        
                                    resume:
                                        name: Start
                                        type: bool
                                        husky_control: Resume
                                        visu_acl: rw
                                        enforce_updates: True
                        
                                    stop:
                                        name: Stop
                                        type: bool
                                        husky_control: Pause
                                        visu_acl: rw
                                        enforce_updates: True
                        
                                    park:
                                        name: Park
                                        type: bool
                                        husky_control: PARK
                                        visu_acl: rw
                                        enforce_updates: True
                        
                                    park3H:
                                        name: Park
                                        type: num
                                        husky_control: PARKTIME
                                        visu_acl: rw
                                        initial_value: 180
                                        enforce_updates: True
                        
                                    parkPermantent:
                                        name: Park
                                        type: bool
                                        husky_control: PARKPERMANENT
                                        visu_acl: rw
                                        enforce_updates: True
                        
                                    parkUntilNext:
                                        name: Park
                                        type: bool
                                        husky_control: PARKNEXT
                                        visu_acl: rw
                                        enforce_updates: True
                        
                                    cuttingHeight:
                                        name: cutting height [1, 2, 3, 4, 5, 6, 7, 8, 9]
                                        husky_control: cuttingHeight
                                        type: num
                                        visu_acl: rw
                                        enforce_updates: True
                                        cache: true
                        
                                    headLight:
                                        name: headLight settings [ ALWAYS_ON, ALWAYS_OFF, EVENING_ONLY, EVENING_AND_NIGHT ]
                                        husky_control: headLight
                                        type: str
                                        visu_acl: rw
                                        enforce_updates: True
                        Bei der Serienummer musste ich den Datentyp auf 'num' ändern. Der Rest scheint zu passen.

                        Weiss jemand wie man die weiteren Daten definieren muss (z.Bsp. Zeitplan) ?

                        Kommentar


                          #13
                          Hallo,

                          ja stimmt die item.yaml ist Mist die hab ich vergessen upzudateden. Habe aber auch in der Doku geschrieben, dass man vom Struktur-Template ausgehen soll, und dies evtl erweitern.

                          Das mit der Seriennummer auf typ num ändern ist genau das Problem was ein Stück weiter oben auch beschrieben wurde, ich aber noch nicht fixen konnte.

                          Zum Zeitplan einfach ein Start-Stop Item anlegen und eine UZSU drauf und bei Änderung die start und park items vom AM aufrufen.


                          bmx ich mach das schon wenn ich mal einen Tag Zeit finde.

                          Kommentar


                            #14
                            Zitat von hijacker7 Beitrag anzeigen
                            Zum Zeitplan einfach ein Start-Stop Item anlegen und eine UZSU drauf und bei Änderung die start und park items vom AM aufrufen.
                            Ich meine die Zeitpläne in der App von Husqvarna. Eine direkte Ansteuerung aus smarthomeNG mit UZSU möchte ich (vorerst) nicht benutzen.


                            Kommentar


                              #15
                              Die Zeitpläne sind nicht teil des API somit kannst du diese nur in der App einstellen. So ist es auch mit vielen anderen Einstellungen die den prinzipiellen Setup deines Gartens und der Leitlinien betreffen. Bis auf Schnitthöhe und Scheinwerfer gibts da von Husqvarna-Seite aus nix via API zu machen.

                              Kommentar

                              Lädt...
                              X