NEWS
IoBroker.homepilot Adapter
-
@pix:ioBroker.homepilot 0.0.3 ist da mit einem neuen Datenpunkt "state". Der wird aber nur angelegt, wenn man einen Universal-Aktor (Produktseriennummer 43) hat. Bitte testen, ich habe nämlich keinen. Bitte Doku in der Readme lesen, danke!
Gruß,
Pix `
Bitte noch Seriennummer "46" hinzufügen als Gerät, das einen STATE Datenpunkt bekommt. -
Achso, noch etwas: Beim Homepilot-Adapter für CCUIO bat ich Bluefox damals, die Werte für die Gurtwickler zu invertieren, da Homepilot ja umgekehrt arbeitet. Somit war es dann möglich die Widgets ohne Invertierung zu nutzen analog zu denen für die HM-Rolloaktoren. Wäre das vielleicht noch möglich zu ändern?
-
Hallo,
@pustekuchen:Achso, noch etwas: Beim Homepilot-Adapter für CCUIO bat ich Bluefox damals, die Werte für die Gurtwickler zu invertieren, da Homepilot ja umgekehrt arbeitet. Somit war es dann möglich die Widgets ohne Invertierung zu nutzen analog zu denen für die HM-Rolloaktoren. Wäre das vielleicht noch möglich zu ändern? `
Das habe ich jetzt eingebaut. Es ist wirklich einfacher, als ein Widget zu konfigurieren. Allerdings nehme ich einen neuen Datenpunkt "level_inverted", der alte Datenpunkt "level" zeigt weiterhin den original Homepilot Wert an.Bitte noch Seriennummer "46" hinzufügen als Gerät, das einen STATE Datenpunkt bekommt. `
Erledigt. Wie heißt das Gerät offiziell?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?Es funktioniert nur die Eingabe "true" oder "false" (beides unbedingt klein geschrieben). Das benutzte Schalter-Widget muss das liefern. Bitte nochmal Rückmeldung.
Es ist eine neue Version 0.0.4 da. Bitte Adapter auf debug stellen und dann mal die Logausgabe beim Benutzen des State-Datenpunktes zeigen.
Hallo Wolfgang,
@leo013:Ich benutze den Datenpunkt Level
Hier sieht man das das Widget die Restöffnung erkennt, ich kann aber über die Visu
nicht weiter öffnen
mit dem Datenpunkt cid habe ich nicht probiert `
bitte den Datenpunkt cid nicht bei WORKING /in Arbeit eintragen. Dieser Datenpunkt liefert keine Daten, er liest nur Eingaben vom Benutzer. Die Command ID (cid) ist ein Kurzbefehl von Homepilot. Zum Beispiel bewirkt die Eingabe "1", dass der Rollladen bis zum Ende oder einem neuen Befehl hochfährt. Die Liste der Befehle sind in der Readme auf Github. Ich habe die CID ein wenig erweitert. Man kann auch "hoch" "runter "stop" eingeben. https://github.com/Pix–-/ioBroker.homepilot#steuerung--control.Trage lieber "level" ein. Wenn du natürlich ab jetzt auch lieber "level_inverted" nutzt, dann bitte in beide Datenpunkte "level_inverted" schreiben.
Hier mal drei Beispiel Widgets für die Nutzung in VIS
!
[{"tpl":"tplJquiButtonState","data":{"oid":"homepilot.0.devices.RolloTronStandard.10002.cid","visibility-cond":"==","visibility-val":1,"buttontext":"stop","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,"value":"stop","no_style":false},"style":{"left":"594px","top":"532px","width":"100px"},"widgetSet":"jqui"},{"tpl":"tplJquiButtonState","data":{"oid":"homepilot.0.devices.RolloTronStandard.10002.cid","visibility-cond":"==","visibility-val":1,"buttontext":"hoch","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,"value":"hoch","no_style":false},"style":{"left":"593px","top":"486px","width":"100px"},"widgetSet":"jqui"},{"tpl":"tplJquiButtonState","data":{"oid":"homepilot.0.devices.RolloTronStandard.10002.cid","visibility-cond":"==","visibility-val":1,"buttontext":"runter","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,"value":"runter","no_style":false},"style":{"left":"595px","top":"579px","width":"100px"},"widgetSet":"jqui"}] !
Gruß
Pix
-
@pix:Erledigt. Wie heißt das Gerät offiziell? `
"productName": "Steckdosenaktor", "serial": "46", -
@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. :?:
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"
-
Kannst du mir mal die JSON schicken, wenn der Aktor ausgeschaltet ist?
Pix
Gesendet mit Tapatalk
-
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
-
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:
[{"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
-
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
-
@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 ] },
-
@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; }
-
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
-
@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. -
Hallo Pix,
das Design von deinem widget passt leider nicht zu meiner Visu
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
-
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
-
-
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
-
@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. -
-
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
-
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 againHätte ich jetzt seit dem du geantwortet hast nochmal updaten müssen?
-
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)
Gruß
Pix