Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. IoBroker.homepilot Adapter

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    IoBroker.homepilot Adapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      pustekuchen last edited by

      @pix:

      STATE-Datenpunkte funktionierten nur lesend mit dem JQUI-Widget.

      Was heißt das? Daß State Datenpunkte mit anderen Widget mit dem JQUI-Widget gelesen, mit anderen Widgets aber beschrieben werden können? Das nur mit dem JQUI Widget nur gelesen werden kann? Daß die Eingaben nicht verarbeitet werden? `
      Nein, da mißverstehen wir uns. Ich dachte lediglich, dass der Datenpunkt STATE nur lesbar ausgegben wird, aber nicht beschreiben werden kann. Ist aber ja nicht so.
      @pix:

      Es funktioniert nur die Eingabe "true" oder "false" (beides unbedingt klein geschrieben). Das benutzte Schalter-Widget muss das liefern. Bitte nochmal Rückmeldung. `
      Rückmeldung zum STATE-Datenpunkt bei den Schaltaktoren (egal ob Zwischenstecker oder Universal-Schaltaktor):

      Getestet im VIS mit dem jqui-mfd - ctrl - Light - Widget siehe Bild; Es geht lediglich das Einschalten, man kann aber nicht mehr ausschalten. Dabei ist es egal ob man den Schaltaktor mit dem Datenpunkt LEVEL (0) oder STATE (false) füttert. :?:
      264_zwischenstecker.jpg

      EDIT: Wenn ich beim Schaltaktor den Datenpunkt LEVEL mit "0" füttere kommt im Log folgendes: "warn Wrong type of data input. Please try again"

      1 Reply Last reply Reply Quote 0
      • P
        pix last edited by

        Kannst du mir mal die JSON schicken, wenn der Aktor ausgeschaltet ist?

        Pix

        Gesendet mit Tapatalk

        1 Reply Last reply Reply Quote 0
        • L
          leo013 last edited by

          Hallo Pix,

          neue Version ist installiert.

          Danke für deine Widgets, diese funktionieren ohne Probleme, Gurtwickler fahren in die Endposition über "hoch stop runter"

          Nebeneffekt war , das ich mal lerne wie widgets importiert werden 😉

          Ich denke es liegt an dem von mir benutzten widget "window and shutter"

          Keine Ahnung worin der Unterschied zu Dashui hier liegt.

          Weiterhin herzlichen Dank für deine Zuarbeit!

          Gruß

          Wolfgang

          1 Reply Last reply Reply Quote 0
          • P
            pix last edited by

            Halbzeitpause. Kurze Antwort:

            Ich nutze das Metro Widget (ggf. Zusatzadapter vis-metro installieren) mit dem Schieber und Statusanzeige für die Rollläden und bin sehr zufrieden. Zusammen mit einem weiteren Widget für das Level in Prozent und dem Lastchange hat man alles im Blick.

            Widget:
            261_bildschirmfoto_2016-06-18_um_21.53.24.jpg

            [{"tpl":"tplMetroTileShutter","data":{"oid":"homepilot.0.devices.RolloTronStandard.10002.level_inverted","visibility-cond":"==","visibility-val":1,"bg_class":"bg-transparent","brand_bg_class":"","oid-working":"homepilot.0.devices.RolloTronStandard.10002.level_inverted","label":"Rollladen rechts","min":"0","max":"100","name":"Rollladen rechts Metro","sliderCompleteColor":"#506ce7","sliderColor":"#e6e6e6","sliderMarkerColor":"","step":"1","gestures-offsetX":0,"gestures-offsetY":0,"signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"comment":"in Arbeit checken!!!!"},"style":{"left":"528px","top":"285px","z-index":"25","height":"137px","width":"313px"},"widgetSet":"metro"},{"tpl":"tplValueFloat","data":{"oid":"homepilot.0.devices.RolloTronStandard.10002.level_inverted","visibility-cond":"==","visibility-val":1,"is_comma":false,"factor":"1","digits":"0","html_append_singular":" %","html_append_plural":" %","name":"Rollladen rechts Zahl","is_tdp":"false","gestures-offsetX":0,"gestures-offsetY":0,"signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false},"style":{"left":"627px","top":"333px","color":"rgba(250,250,250,1)","text-align":"right","font-family":"RobotoCondensed-Regular, Futura","width":"68px","height":"18px","z-index":"26"},"widgetSet":"basic"},{"tpl":"tplValueLastchange","data":{"oid":"homepilot.0.devices.RolloTronStandard.10002.status_changed","visibility-cond":"==","visibility-val":1,"gestures-offsetX":0,"gestures-offsetY":0,"signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"format_date":"DD.MM.YYYY hh:mm:ss","name":"Rollladen rechts Lastchange"},"style":{"left":"700px","top":"403px","z-index":"26","color":"rgba(250,250,250,1)","text-align":"right","font-family":"RobotoCondensed-Regular, Futura","width":"132px","height":"17px","font-size":"13px"},"widgetSet":"basic"}]
            

            Gruß

            Pix

            1 Reply Last reply Reply Quote 0
            • P
              pix last edited by

              @pustekuchen:

              EDIT: Wenn ich beim Schaltaktor den Datenpunkt LEVEL mit "0" füttere kommt im Log folgendes: "warn Wrong type of data input. Please try again" `
              Bist du sicher?

              Der Code zur Überprüfung des input ist ja so:

              ! ````
              if (controller == 'level') { // control via level e.g. RolloTronStandar.level
              // check if input number is between 0 an 100
              if (input.search(/(?:\b|-)([1-9]{1,2}[0]?|100)\b/gmi) != -1) { // 0 to 100 https://regex101.com/r/mN1iT5/6#javascript
              valid = true;
              url = 'http://' + ip + '/deviceajax.do?cid=9&did=' + deviceid + '&goto=' + input + '&command=1';
              } else valid = false;
              } else if (controller == 'level_inverted') { // control via inverted level e.g. RolloTronStandar.level (like Homematic 100% up, 0% down)
              // check if input number is between 0 an 100
              if (input.search(/(?:\b|-)([1-9]{1,2}[0]?|100)\b/gmi) != -1) { // 0 to 100 https://regex101.com/r/mN1iT5/6#javascript
              valid = true;
              url = 'http://' + ip + '/deviceajax.do?cid=9&did=' + deviceid + '&goto=' + (100 - parseInt(input,10)) + '&command=1';
              } else valid = false;
              } else if (controller == 'state') { // control via state e.g. Universal-Aktor switch (100 ist true, <100 is false);
              if (input.search(/(true)|(false)\b/gmi) != -1) { // check if "true" or "false"
              valid = true;
              if (input || input === 'true') { // switch is on
              url = 'http://' + ip + '/deviceajax.do?cid=9&did=' + deviceid + '&goto=100&command=1';
              } else url = 'http://' + ip + '/deviceajax.do?cid=9&did=' + deviceid + '&goto=0&command=1'; // switch is off
              adapter.log.debug('Input: ' + input + ' URL: ' + url);
              } else valid = false;
              }

              
              Also 0 ist eindeutig erlaubt. Sicher, dass du auf dem richtigen Datenpunkt bist?
              
              Wenn du das o.g. Widget nutzt, kannst du bei Min ja 0 und Max ja 100 eingeben und als OID LEVEL. Dann braucht dar Adapter ja nicht umrechnen.
              
              Sonst geht vielleicht mal dieses Widget, auch wenn es nicht so schön ist ;) (OID state)
              

              [{"tpl":"tplFancyToggleswitch","data":{"oid":"nothing_selected","visibility-cond":"==","visibility-val":1,"text_true":"true","text_false":"false","width":"40","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"highlight_switch":false,"test":false},"style":{"left":"436px","top":"492px"},"widgetSet":"fancyswitch"}]

              
              Gruß
              
              Pix
              1 Reply Last reply Reply Quote 0
              • P
                pustekuchen last edited by

                @pix:

                Kannst du mir mal die JSON schicken, wenn der Aktor ausgeschaltet ist?

                Pix `

                {  "response": "get_visible_devices",  "status": "ok",  "devices": [    {      "did": 10009,      "name": "Gartenbeleuchtung",      "description": " ",      "initialized": 1,      "position": 0,      "productName": "Universal-Aktor",      "serial": "43",      "statusesMap": {        "Position": 0,        "Manuellbetrieb": 0      },      "status_changed": 1466276021,      "deviceGroup": 1,      "iconSet": {        "name": "Ein-Aus-Schalter",        "description": "Ein- Aus-Schalter Icon-Set",        "strMin": "An",        "strMax": "Aus",        "valMax": 100,        "valMin": 0,        "sprite": {          "imageUri": "images/sets/ein-aus-schalter1.png",          "numTiles": 2        },        "k": "iconset5"      },      "iconSetInverted": 0,      "paired": 0,      "statusValid": true,      "uid": "43 XX XX",      "visible": true,      "groups": [        5003      ],      "favoredId": 5013,      "properties": {        "generic": 3,        "wind": 3,        "trigger": 3,        "closingContact": 3,        "dusk": 3,        "smoke": 3,        "sun": 3,        "temperature": 3,        "manual": 3,        "time": 2,        "dawn": 3,        "dust": 3,        "favored": 0,        "smartphone": 3,        "motion": 3,        "temperator": 3,        "warning": 3,        "rain": 3,        "states": [          {            "cfgKey": "setAutomationOverall",            "cfgId": 99,            "state": 0          },          {            "cfgKey": "setSunAuto",            "cfgId": 105,            "state": 0          },          {            "cfgKey": "setEveningAuto",            "cfgId": 107,            "state": 1          },          {            "cfgKey": "setTimeAuto",            "cfgId": 101,            "state": 1          },          {            "cfgKey": "setMorningAuto",            "cfgId": 103,            "state": 1          }        ]      },      "sortId": 718,      "sTypes": [],      "version": "2.2",      "sync": -2147480277,      "messages": [],      "hasErrors": 0,      "autos": [        3,        2,        0,        1,        4      ]    },   
                
                1 Reply Last reply Reply Quote 0
                • P
                  pustekuchen last edited by

                  @pix:

                      } else if (controller == 'state') { // control via state e.g. Universal-Aktor switch (100 ist true, <100 is false);
                          if (input.search(/(true)|(false)\b/gmi) != -1) { // check if "true" or "false"
                              valid = true;
                              if (input || input === 'true') { // switch is on
                                  url = 'http://' + ip + '/deviceajax.do?cid=9&did=' + deviceid + '&goto=100&command=1';
                              } else url = 'http://' + ip + '/deviceajax.do?cid=9&did=' + deviceid + '&goto=0&command=1'; // switch is off
                              adapter.log.debug('Input: ' + input + ' URL: '  + url);
                          } else valid = false;
                      }
                  ```` `  
                  

                  Habe im Code gesehen, du setzt cid=9 mit Position N auch beim Schaltaktor ein. Für die Schaltaktoren gibt es doch den CID 10 für AN und 11 für AUS. Ist der CID 10 bzw. 11 für den Datenpunkt STATE nicht besser geeignet? Dummerweise gibt das JSON als Rückmeldung trotzdem den Wert als "POSITION" aus.

                  Also sieht es dann so aus:

                  else if (controller == 'state') { // control via state e.g. Universal-Aktor switch (100 ist true, <100 is false);
                          if (input.search(/(true)|(false)\b/gmi) != -1) { // check if "true" or "false"
                              valid = true;
                              if (input || input === 'true') { // switch is on
                                  url = 'http://' + ip + '/deviceajax.do?cid=10&did=' + deviceid + '&command=1';
                              } else url = 'http://' + ip + '/deviceajax.do?cid=11&did=' + deviceid + '&command=1'; // switch is off
                              adapter.log.debug('Input: ' + input + ' URL: '  + url);
                          } else valid = false;
                      }
                  
                  1 Reply Last reply Reply Quote 0
                  • P
                    pix last edited by

                    Du hast recht. Macht ja auch Sinn. Ich war immer noch überzeugt, true sei Position 100, false sei 0; auch beim Setzen. Aber Cid ist ja genau dafür da. Mach ich morgen!

                    Muss mir wohl auch mal so einen Aktor zulegen.

                    Gute Nacht,

                    Pix

                    Gesendet mit Tapatalk

                    1 Reply Last reply Reply Quote 0
                    • P
                      pustekuchen last edited by

                      @pix:

                      Du hast recht. Macht ja auch Sinn. Ich war immer noch überzeugt, true sei Position 100, false sei 0; auch beim Setzen. Aber Cid ist ja genau dafür da. Mach ich morgen!

                      Muss mir wohl auch mal so einen Aktor zulegen.

                      Gute Nacht,

                      Pix

                      Gesendet mit Tapatalk `
                      Cool. Kannst du evtl. noch die Synctime in den Settings einstellbar machen? Und was noch schick wäre: Eine Fehlermeldung, wenn der Homepilot nicht erreichbar ist, oder ist das schon drin? Ich würde gerne eine "Servicemeldung" à la Homematic einblenden lassen, wenn die Verbindung nicht möglich ist.

                      1 Reply Last reply Reply Quote 0
                      • L
                        leo013 last edited by

                        Hallo Pix,

                        das Design von deinem widget passt leider nicht zu meiner Visu 😉

                        997_iobroker1.jpg

                        997_iobroker2.jpg

                        Ich glaube das Widget, das ich nutze ist von Bluefox.

                        Im Moment kann ich mit der Tastensteuerung leben, die Gurtwickler laufen automatisch über

                        die Dämmerungs- und Sonnenaufgangsfunktion, sowie Beschattung bei starken Sonneneinfall.

                        Ich habe fast meine komplette Dashui-Visu auf iobroker umgestellt, muss nur noch meine beiden Homeduino einbinden

                        Nochmals herzlichen Dank für die schnelle Umsetzung!

                        Gruß

                        Wolfgang

                        1 Reply Last reply Reply Quote 0
                        • P
                          pix last edited by

                          Hallo,

                          0.0.5 ist fertig

                          https://github.com/Pix–-/ioBroker.homepilot

                          Neu:

                          • Die Dauer in Sekunden zwischen den Synchronisierungen Homepilot <> ioBroker lässt sich nun einstellen (default 12s).

                          • Switches/Schalter (Serie 43 und 46) werden nun per Commad ID gesetzt, aber noch über Position/Level aus Homepilot gelesen.

                          • Datenpunkt UNREACH erstellt.

                            Wenn Homepilot nicht erreichbar, wird UNREACH auf true gesetzt (zB für Alarmierung). Bitte prüfen, ob das Setzen auf true bei Adapter Installation bis zum ersten einlesen schon die Alarmierung auslöst. Dann muss ich das ändern.

                          • Readme aufgehübscht

                          Gruß

                          Pix

                          1 Reply Last reply Reply Quote 0
                          • M
                            mdsv last edited by

                            Hallo,

                            bei mir geht die Installation leider nicht. Sowohl über die GUI, als auch die Konsole.

                            Müsste es gehen????

                            404 https://registry.npmjs.org/iobroker.homepilot

                            npm ERR! TypeError: Cannot read property 'latest' of undefined

                            npm ERR! at next (/usr/local/lib/node_modules/npm/lib/cache.js:687:35)

                            npm ERR! at /usr/local/lib/node_modules/npm/lib/cache.js:675:5

                            npm ERR! at saved (/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/get.js:142:7)

                            npm ERR! at /usr/local/lib/node_modules/npm/node_modules/graceful-fs/polyfills.js:133:7

                            npm ERR! at Object.oncomplete (fs.js:107:15)

                            npm ERR! If you need help, you may report this log at:

                            npm ERR! <http://github.com/isaacs/npm/issues>

                            npm ERR! or email it to:

                            npm ERR! npm-@googlegroups.com

                            1 Reply Last reply Reply Quote 0
                            • P
                              pustekuchen last edited by

                              @pix:

                              Hallo,

                              0.0.5 ist fertig

                              https://github.com/Pix–-/ioBroker.homepilot

                              Neu:

                              • Die Dauer in Sekunden zwischen den Synchronisierungen Homepilot <> ioBroker lässt sich nun einstellen (default 12s).

                              • Switches/Schalter (Serie 43 und 46) werden nun per Commad ID gesetzt, aber noch über Position/Level aus Homepilot gelesen.

                              • Datenpunkt UNREACH erstellt.

                                Wenn Homepilot nicht erreichbar, wird UNREACH auf true gesetzt (zB für Alarmierung). Bitte prüfen, ob das Setzen auf true bei Adapter Installation bis zum ersten einlesen schon die Alarmierung auslöst. Dann muss ich das ändern.

                              • Readme aufgehübscht

                              Gruß

                              Pix `
                              Neue Version installiert, leider geht das ausschalten der Schaltaktoren über STATE false immer noch nicht. Edit: Einschalten geht, aber ausschalten dann nicht mehr.

                              1 Reply Last reply Reply Quote 0
                              • P
                                pix last edited by

                                Seltsam, hier der Code, der das Schalten übernimmt:

                                else if (controller == 'state') { // control via state e.g. Universal-Aktor switch
                                        if (input.search(/(true)|(false)\b/gmi) != -1) { // check if "true" or "false"
                                            valid = true;
                                            newcid = (input || input === 'true') ? '10' : '11'; // hier sollte bei 'false' eigentlich '11' gesetzt werden
                                            if (valid) url = 'http://' + ip + '/deviceajax.do?did=' + deviceid + '&cid=' + newcid + '&command=1'; // switch ON / OFF
                                            adapter.log.debug('Switch ' + deviceid + ' new status detected: ' + input + ' URL: '  + url);
                                        } else valid = false;
                                    } 
                                

                                Was sagt das Log (hier 6. Zeile, also Adapter bitte auf debug stellen)?

                                Gruß

                                Pix

                                1 Reply Last reply Reply Quote 0
                                • P
                                  pustekuchen last edited by

                                  Log sagt:

                                  ! ````
                                  homepilot-0 2016-06-19 15:09:24.490 warn Wrong type of data input. Please try again
                                  homepilot-0 2016-06-19 15:09:20.895 warn Wrong type of data input. Please try again
                                  homepilot-0 2016-06-19 15:09:19.959 info Command sent to Homepilot because "false" written to State "homepilot.0.devices.Steckdosenaktor.10006.state"
                                  homepilot-0 2016-06-19 15:09:13.213 warn Wrong type of data input. Please try again
                                  homepilot-0 2016-06-19 15:09:12.220 info Command sent to Homepilot because "true" written to State "homepilot.0.devices.Steckdosenaktor.10006.state"
                                  homepilot-0 2016-06-19 15:09:09.915 warn Wrong type of data input. Please try again
                                  homepilot-0 2016-06-19 15:08:57.730 warn Wrong type of data input. Please try again

                                  Hätte ich jetzt seit dem du geantwortet hast nochmal updaten müssen?
                                  1 Reply Last reply Reply Quote 0
                                  • P
                                    pix last edited by

                                    Nein, hätest du nicht. Habe nichts verändert.

                                    Du sagst ja, dass das Einschalten funktioniert, nur das Ausschalten nicht.

                                    Also true geht, false nicht.

                                    Seltsam ist ja, dass durch diese Zeile

                                    newcid = (input || input === 'true') ? '10' : '11'; // hier sollte bei 'false' eigentlich '11' gesetzt werden
                                    

                                    genau nach "true" gefragt wird (sowohl als boolean, als auch als Zeichenkette) und falls kein true kommt, und dazu gehört 'false' ja, dann soll die 11 gesetzt werden (für AUS).

                                    Mir fehlt nur diese Zeile in der Logausgabe:

                                    adapter.log.debug('Switch ' + deviceid + ' new status detected: ' + input + ' URL: '  + url);
                                    

                                    Deshalb bitte mal den Adapter auf DEBUG stellen (Reiter Instanzen, Expertenmodus. Logstufe) 261_bildschirmfoto_2016-06-19_um_22.03.12.jpg

                                    Gruß

                                    Pix

                                    1 Reply Last reply Reply Quote 0
                                    • P
                                      pustekuchen last edited by

                                      Ok, hier die Debug-Ausgabe nachdem ich ausgeschaltet habe:

                                      homepilot.0 Wrong type of data input. Please try again
                                      homepilot.0	2016-06-19 22:25:51.217	debug	homepilot.0 State: state device: 10006 command: 0
                                      homepilot.0	2016-06-19 22:25:51.216	debug	homepilot.0 input value: 0
                                      homepilot.0	2016-06-19 22:25:51.216	debug	homepilot.0 stateChange homepilot.0.devices.Steckdosenaktor.10006.state {"val":"0","ack":false,"ts":1466367951198,"q":0,"from":"system.adapter.web.0","lc":1466367951198}
                                      homepilot.0	2016-06-19 22:25:51.214	debug	inMem message homepilot.0.* homepilot.0.devices.Steckdosenaktor.10006.state
                                      homepilot.0	2016-06-19 22:25:50.318	info	homepilot.0 Command sent to Homepilot because "false" written to State "homepilot.0.devices.Steckdosenaktor.10006.state"
                                      homepilot.0	2016-06-19 22:25:50.318	debug	homepilot.0 Switch 10006 new status detected: false URL: http://192.168.178.5/deviceajax.do?did=10006&cid=10&command=1
                                      homepilot.0	2016-06-19 22:25:50.317	debug	homepilot.0 State: state device: 10006 command: false
                                      homepilot.0	2016-06-19 22:25:50.317	debug	homepilot.0 input value: false
                                      homepilot.0	2016-06-19 22:25:50.317	debug	homepilot.0 stateChange homepilot.0.devices.Steckdosenaktor.10006.state {"val":false,"ack":false,"ts":1466367950226,"q":0,"from":"system.adapter.web.0","lc":1466367950226}
                                      homepilot.0	2016-06-19 22:25:50.315	debug	inMem message homepilot.0.* homepilot.0.devices.Steckdosenaktor.10006.state
                                      homepilot.0	2016-06-19 22:25:46.005	debug	homepilot.0 Homepilot adapter started...
                                      homepilot.0	2016-06-19 22:25:46.005	debug	homepilot.0 Homepilot station and ioBroker synchronize every 12s
                                      homepilot.0	2016-06-19 22:25:46.004	debug	homepilot.0 initializing objects
                                      
                                      

                                      Edit: Ok, jetzt habe ich herausgefunden, dass der CID falsch ist, bei STATE false wird 10, also Einschalten benutzt anstatt 11.

                                      Gesendet von meinem iPad mit Tapatalk HD

                                      1 Reply Last reply Reply Quote 0
                                      • P
                                        pix last edited by

                                        Vielen Dank für die Rückmeldung. Jetzt habe ich den Fehler wohl gefunden:

                                        newcid = (input || input === 'true') ? '10' : '11';
                                        

                                        Input ist ja kein Typ boolean, sondern ein Typ String. Deshalb wird die obige Abfrage immer '10' ergeben, da auch der übergebene String 'false' eben ein String ist und die Variable füllt. Es wird ja nur gerpüft, ob was drin steht, erst nach dem ODER wird geprüft, obt das auch "true" ist.

                                        Da ich oben weiter eh schon die Regex-Abfrage für plausible Eingaben habe, konnte ich die natürlich weiter unten auch nutzen.

                                        if (input.search(/(true)(EIN)(AN)(ON)|([10-11])|(false)(AUS)(OFF)\b\b/gmi) != -1) { // check if "true" or "false"
                                                    valid = true;
                                                    if (input.search(/(true)(EIN)(AN)(ON)|(10)\b\b/gmi) != -1 ) newcid = '10'; 
                                                    if (input.search(/(false)(AUS)(OFF)|(11)\b\b/gmi) != -1 ) newcid = '11'; 
                                                    url = 'http://' + ip + '/deviceajax.do?did=' + deviceid + '&cid=' + newcid + '&command=1'; // switch ON / OFF
                                                    adapter.log.debug('Switch ' + deviceid + ' new status detected: ' + input + ' URL: '  + url);
                                                } else valid = false;
                                        
                                        

                                        Es sind jetzt eben auch die in der https://github.com/Pix–-/ioBroker.homepilot/blob/master/README.md#command-id aufgezählten CID Anweisungen möglich (zB "AUS" oder "off" oder "EiN", wenn es sein muss 🙂 )

                                        Neue Version 0.0.6 mit Korrektur ist da.

                                        https://github.com/Pix–-/ioBroker.homepilot

                                        Gruß

                                        Pix

                                        1 Reply Last reply Reply Quote 0
                                        • P
                                          pustekuchen last edited by

                                          Nach Update kann ich jetzt nur noch an- der ausschalten, wenn ich "10" oder "11" in STATE schreibe. "true" oder "false" oder "AN" oder "AUS", gehen nicht.

                                          Geht nicht:

                                          ! ````
                                          homepilot.0 2016-06-20 15:11:40.520 debug homepilot.0 finished reading Homepilot Data
                                          homepilot.0 2016-06-20 15:11:40.518 debug homepilot.0 reading homepilot JSON ...
                                          TypeError: 2016-06-20 13:11:36.854 error at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:333:8)
                                          TypeError: 2016-06-20 13:11:36.854 error at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20)
                                          TypeError: 2016-06-20 13:11:36.854 error at Manager. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
                                          TypeError: 2016-06-20 13:11:36.854 error at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:221:12)
                                          TypeError: 2016-06-20 13:11:36.854 error at Socket.onevent (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:263:10)
                                          TypeError: 2016-06-20 13:11:36.854 error at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20)
                                          TypeError: 2016-06-20 13:11:36.854 error at Socket. (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:45:30)
                                          TypeError: 2016-06-20 13:11:36.854 error at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:2036:80)
                                          TypeError: 2016-06-20 13:11:36.854 error at Object.utils.adapter.stateChange (/opt/iobroker/node_modules/iobroker.homepilot/main.js:22:9)
                                          TypeError: 2016-06-20 13:11:36.854 error at controlHomepilot (/opt/iobroker/node_modules/iobroker.homepilot/main.js:166:23)
                                          TypeError: 2016-06-20 13:11:36.854 error Cannot read property 'warn' of undefined
                                          message 2016-06-20 13:11:36.836 error homepilot.0.devices.Steckdosenaktor.10006.state [object Object] Cannot read property 'warn' of undefined
                                          homepilot-0 2016-06-20 13:11:36.832 debug State: state device: 10006 command: true
                                          homepilot-0 2016-06-20 13:11:36.828 debug input value: true
                                          homepilot-0 2016-06-20 13:11:36.826 debug stateChange homepilot.0.devices.Steckdosenaktor.10006.state {"val":true,"ack":false,"ts":1466428296807,"q":0,"from":"system.adapter.admin.0","lc":1466428296807}
                                          inMem 2016-06-20 13:11:36.816 debug message homepilot.0.* homepilot.0.devices.Steckdosenaktor.10006.state val=true, ack=false, ts=1466428296807, q=0, from=system.adapter.admin.0, lc=1466428296807
                                          homepilot-0 2016-06-20 13:11:28.451 debug Homepilot adapter started...
                                          homepilot-0 2016-06-20 13:11:28.450 debug Homepilot station and ioBroker synchronize every 12s
                                          homepilot-0 2016-06-20 13:11:28.446 debug initializing objects
                                          homepilot-0 2016-06-20 13:11:28.431 info starting. Version 0.0.6 in /opt/iobroker/node_modules/iobroker.homepilot
                                          homepilot-0 2016-06-20 13:11:28.208 debug statesDB connected
                                          homepilot-0 2016-06-20 13:11:28.158 debug objectDB connected

                                          
                                          Geht schon: (mit "10")
                                          
                                          >! ````
                                          homepilot.0	2016-06-20 15:14:04.759	debug	homepilot.0 reading homepilot JSON ...
                                          homepilot-0	2016-06-20 13:14:01.388	info	Command sent to Homepilot because "10" written to State "homepilot.0.devices.Steckdosenaktor.10006.state"
                                          homepilot-0	2016-06-20 13:14:01.377	debug	Switch 10006 new status detected: 10 URL: http://192.168.178.5/deviceajax.do?did=10006&cid=10&command=1
                                          homepilot-0	2016-06-20 13:14:01.374	debug	State: state device: 10006 command: 10
                                          homepilot-0	2016-06-20 13:14:01.374	debug	input value: 10
                                          homepilot-0	2016-06-20 13:14:01.373	debug	stateChange homepilot.0.devices.Steckdosenaktor.10006.state {"val":10,"ack":false,"ts":1466428441359,"q":0,"from":"system.adapter.admin.0","lc":1466428441359}
                                          inMem	2016-06-20 13:14:01.370	debug	message homepilot.0.* homepilot.0.devices.Steckdosenaktor.10006.state val=10, ack=false, ts=1466428441359, q=0, from=system.adapter.admin.0, lc=1466428441359
                                          
                                          1 Reply Last reply Reply Quote 0
                                          • P
                                            pix last edited by

                                            Danke für die Rückmeldung. Tut mir leid, waren Flüchtigkeitsfehler. Hab schon einen Schreibfehler gefunden: "adapter.lo.warn"

                                            Ausserdem fehlte in der RegEx Abfrage wohl einige ODER :oops:

                                            Ich lade mal schnell eine neue Version hoch 0.0.7. 8-)

                                            Gruß

                                            Pix

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            1.0k
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            21
                                            125
                                            17307
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo