@Shadowblues Ok, muss selber nochmal Input liefern:
Wenn ich die Verknüpfung des Logikbausteins, der aktuell meine Pumpe steuert, von dem Objekt löse, dann importiert er das Objekt richtig und ich kann es auch steuern. Wenn ich dann auf das Objekt gehe, dann will er von mir wissen ob ich das Objekt im Haus meine (Aktor) oder das in der Werkstatt (Logikmodul), obwohl dieses ja die Nummer nicht mehr hat. Wenn ich dann das Objekt im Haus auswähle, dann kann ich es steuern.
Als Workaround werde ich nun versuchen separate Gruppenadressen anzulegen und damit zu arbeiten. Schön finde ich das aber nicht
NEWS
Latest posts made by Shadowblues
-
RE: KNX Datenpunkte gehen teilweise nicht
-
RE: KNX Datenpunkte gehen teilweise nicht
@Shadowblues Ich möchte etwas hinzufügen:
Ich habe den Gruppenmonitor laufen und habe einen Filter auf 0/1/6 gesetzt.
Wenn ich jetzt über meine alte Hausautomatisierung den Wert 0/1/6 ändere, dann erscheint im Gruppenmonitor "gar nichts". Aber der Wert ändert sich, also die Pumpe geht an / aus.
Wenn ich über das IOBroker Objekt den Wert ändere, dann erscheint auf dem Bus immer ein "Ein" als Wert - egal ob ich es im Objektbroker aktiviert bestätige oder deaktiviert. -
KNX Datenpunkte gehen teilweise nicht
Hallo zusammen,
ich hatte letztlich ja schonmal wegen einer Heizungssteuerung gepostet. Ein Wert konnte nicht durch IOBroker gesetzt werden. Jetzt habe ich selbiges Problem an einem simplen Aktor. Bitte helft mir, ich verzweifle noch
Also, ich habe eine Datenleitung (Gruppenadresse) 0/1/6. Diese ist dazu da, eine Pumpe an / aus zu schalten. Der Datentyp ist 1.001 (Schalten). Wenn ich im Gruppenmonitor hier schreibe (true/false), dann schaltet die Pumpe an und aus. Alles problemlos.
Hierzu existiert nebenbei auch noch ein Statusobjekt unter der Adresse 1/3/106, das gibt den Status des Relais an. Datentyp 1.011 (Status)
Das Gerät ist ein MDT Schaltaktor (UP).
Wenn ich diese Objekte importiere, dann sind diese wie folgt angelegt:
GA 1/3/106: Logikwert, Value, Lesen erlaubt, Datentyp 1.001 (abweichend von oben) --> Dieser Wert zeigt den Status auch vollkommen richtig an.
GA 0/1/6: Logikwert, Indicator, Lesen erlaubt, Update, Datentyp 1.002 (abweichend von oben) --> Dieses Objekt zeigt den Status des Relais nicht korrekt an. Auch funktioniert ein Schreiben hier nicht (nachdem ich schreiben erlaubt aktiviert habe) Auch eine Änderung des Datentyps auf 1.001 ändert nichts am Verhalten. Der Wert hängt auf "true" fest. Der Wert hat auch nichts mit dem tatsächlichen Status des Aktors zu tun.Restart des KNX Adapters ist mehrfach erfolgt.
Andere Gruppenadressen, welche als Relais ausgelegt sind (Aber auf MDT Hutschienenadapter (16fach)) funktionieren problemlos.Irgend ne Idee? So kann ich das alles nicht nutzen.
Gruß
Roger -
RE: Warnmeldung in simplem Blockly mit KNX - bitte um Hilfe
Ok, ich habe mal weiter rumgespielt. (Was man doch so alles im Homeoffice neben TelKos macht)
Zumindest am Beispiel 1 bin ich so weit, dass es ohne Fehlermeldungen / Warnings läuft.
Wenn ich an den ersten Befehl (Schalte Lampe aus) eine Verzögerung anhänge, dann geht alles.
Ohne Verzögerung kommen gleich wieder die genannten Einträge.Scheint also irgendwie n Timingproblem mit dem KNX Adapter zu sein.
-
RE: Warnmeldung in simplem Blockly mit KNX - bitte um Hilfe
@Thomas-Braun ??? Wieso das? Muss der Logoutput da auch rein?
-
Warnmeldung in simplem Blockly mit KNX - bitte um Hilfe
Hallo zusammen,
ich bin grade am experimentieren mit Blockly.
Hier ein kleines Beispielprogramm:
schedule("*/15 * * * * *", function () { setState("knx.0.UG.Licht.Licht_Roger_AN_AUS"/*Licht Roger AN/AUS*/, 0); setStateDelayed("knx.0.UG.Licht.Licht_Roger_AN_AUS"/*Licht Roger AN/AUS*/, 1, 1000, false); });
Ergebnis sind immer Warnings - ansich funktioniert es aber. Licht blinkt wie es soll.
Output:
14.12.2020, 23:17:24.305 [info ]: javascript.0 (1463) Start javascript script.js.common.Test2 14.12.2020, 23:17:24.308 [info ]: javascript.0 (1463) script.js.common.Test2: registered 0 subscriptions and 1 schedule 14.12.2020, 23:17:30.001 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test2:2:3) 14.12.2020, 23:17:45.006 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test2:2:3) 14.12.2020, 23:18:00.003 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test2:2:3) 14.12.2020, 23:18:15.002 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test2:2:3) 14.12.2020, 23:18:30.002 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test2:2:3) 14.12.2020, 23:18:45.002 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test2:2:3) 14.12.2020, 23:19:00.002 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test2:2:3) 14.12.2020, 23:19:15.001 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test2:2:3) 14.12.2020, 23:19:30.001 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test2:2:3) 14.12.2020, 23:19:45.002 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test2:2:3) 14.12.2020, 23:20:00.002 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test2:2:3) 14.12.2020, 23:20:15.002 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test2:2:3) 14.12.2020, 23:20:30.002 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test2:2:3) 14.12.2020, 23:20:45.002 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test2:2:3) 14.12.2020, 23:21:00.001 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test2:2:3) 14.12.2020, 23:21:15.003 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test2:2:3) 14.12.2020, 23:21:30.006 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test2:2:3)
Das Warning kommt bei jedem Durchlauf. Erst wenn ich das Setzen der Lampen weg mache, geht es.
Hier ein anderes Script, auch simpel:
on({id: 'knx.0.EG.Heizung.Kamintemp_Wasser', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; console.error(parseFloat((obj.state ? obj.state.val : ""))); console.error(parseFloat(getState("knx.0.UG.Heizung.Speichertemp_1_3").val)); if (parseFloat((obj.state ? obj.state.val : "")) > parseFloat(getState("knx.0.UG.Heizung.Speichertemp_1_3").val) + 6 && parseFloat((obj.state ? obj.state.val : "")) > 70) { console.log('Kamin AN wegen richtiger Temp'); setState("knx.0.UG.Licht.Licht_Werkstatt_AN_AUS"/*Licht Werkstatt AN/AUS*/, 1); } else if (parseFloat((obj.state ? obj.state.val : "")) > 80) { console.log('Kamin AN wegen >80 Grad'); setState("knx.0.UG.Licht.Licht_Werkstatt_AN_AUS"/*Licht Werkstatt AN/AUS*/, 1); } else if (parseFloat((obj.state ? obj.state.val : "")) <= 65) { console.log('Kamin AUS wegen <65 Grad'); setState("knx.0.UG.Licht.Licht_Werkstatt_AN_AUS"/*Licht Werkstatt AN/AUS*/, 0); } if (parseFloat((obj.state ? obj.state.val : "")) > 85) { setStateDelayed("knx.0.UG.Licht.Licht_Werkstatt_AN_AUS"/*Licht Werkstatt AN/AUS*/, 1, 1000, false); setStateDelayed("knx.0.UG.Licht.Licht_Werkstatt_AN_AUS"/*Licht Werkstatt AN/AUS*/, 0, 1000, false); } });
Auch hier Warnings und Meldungen: (Die Errors sind von mir generierter Debug-Output)
14.12.2020, 23:23:13.116 [info ]: javascript.0 (1463) Start javascript script.js.common.Test1 14.12.2020, 23:23:13.121 [info ]: javascript.0 (1463) script.js.common.Test1: subscribe: {"pattern":{"id":"knx.0.EG.Heizung.Kamintemp_Wasser","change":"ne","q":0},"name":"script.js.common.Test1"} 14.12.2020, 23:23:13.122 [info ]: javascript.0 (1463) script.js.common.Test1: registered 1 subscription and 0 schedules 14.12.2020, 23:23:33.250 [error]: javascript.0 (1463) script.js.common.Test1: 71.8 14.12.2020, 23:23:33.250 [info ]: javascript.0 (1463) script.js.common.Test1: getState(id=knx.0.UG.Heizung.Speichertemp_1_3, timerId=undefined) => {"val":55.2,"ack":true,"ts":1607984580325,"q":0,"from":"system.adapter.knx.0","user":"system.user.admin","lc":1607982121589} 14.12.2020, 23:23:33.250 [error]: javascript.0 (1463) script.js.common.Test1: 55.2 14.12.2020, 23:23:33.255 [info ]: javascript.0 (1463) script.js.common.Test1: getState(id=knx.0.UG.Heizung.Speichertemp_1_3, timerId=undefined) => {"val":55.2,"ack":true,"ts":1607984580325,"q":0,"from":"system.adapter.knx.0","user":"system.user.admin","lc":1607982121589} 14.12.2020, 23:23:33.255 [info ]: javascript.0 (1463) script.js.common.Test1: Kamin AN wegen richtiger Temp 14.12.2020, 23:23:33.255 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test1:8:5) 14.12.2020, 23:23:33.255 [info ]: javascript.0 (1463) script.js.common.Test1: setForeignState(id=knx.0.UG.Licht.Licht_Werkstatt_AN_AUS, state=1) 14.12.2020, 23:24:28.244 [error]: javascript.0 (1463) script.js.common.Test1: 72.28 14.12.2020, 23:24:28.244 [info ]: javascript.0 (1463) script.js.common.Test1: getState(id=knx.0.UG.Heizung.Speichertemp_1_3, timerId=undefined) => {"val":55.2,"ack":true,"ts":1607984640319,"q":0,"from":"system.adapter.knx.0","user":"system.user.admin","lc":1607982121589} 14.12.2020, 23:24:28.244 [error]: javascript.0 (1463) script.js.common.Test1: 55.2 14.12.2020, 23:24:28.244 [info ]: javascript.0 (1463) script.js.common.Test1: getState(id=knx.0.UG.Heizung.Speichertemp_1_3, timerId=undefined) => {"val":55.2,"ack":true,"ts":1607984640319,"q":0,"from":"system.adapter.knx.0","user":"system.user.admin","lc":1607982121589} 14.12.2020, 23:24:28.244 [info ]: javascript.0 (1463) script.js.common.Test1: Kamin AN wegen richtiger Temp 14.12.2020, 23:24:28.245 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test1:8:5) 14.12.2020, 23:24:28.245 [info ]: javascript.0 (1463) script.js.common.Test1: setForeignState(id=knx.0.UG.Licht.Licht_Werkstatt_AN_AUS, state=1)
Könnt ihr mir bitte nen Tipp geben was falsch läuft?
Gruß
Roger -
RE: Schreiben Sollwert Heizungssteuerung MDT über Objectbroker
Ok, niemand ne Idee?
Ich habe es jetzt erstmal anders gelöst bekommen: Den Sollwert lasse ich wie er ist, ändere aber die Abweichung vom Sollwert von -5 bis +5 Grad. Damit kann ich das hqWidgets Heizungssymbol nicht verwenden, aber ok. Läuft erstmal ..
Gruß
Roger -
Schreiben Sollwert Heizungssteuerung MDT über Objectbroker
Hallo zusammen,
ich würde gerne einen Sollwert für den jeweiligen Raum im IOBroker setzen, aber das klappt irgendwie nicht.
Ich habe MDT Glastaster, die haben einen Temperatursensor drin und die 8 fach Heizungsaktoren AKH-0800.01
Funktioniert alles problemlos untereinander und mit meiner anderen Softwarelösung.Nun möchte ich die Werte aber gerne in IOBroker setzen. Die Datenwerte sind 2 Byte Werte, diese kann ich beispielsweise über den ETS Busmonitor setzen. Datenpunkttyp 9.001. Beispielswerte: $0D $46 = 27 Grad.
Schreibe ich den Wert über den Busmonitor, dann erscheint der Wert direkt in den IOBroker KNX Objekten und natürlich in meiner alten Steuerung. Schreiben geht also generell, lesen über die IOBroker Objektansicht auch.
Hier das Objekt 1/3/120 im IOBroker:
{
"from": "system.adapter.knx.0",
"user": "system.user.admin",
"ts": 1606833244590,
"common": {
"name": "Sollwert Roger",
"type": "number",
"role": "value",
"unit": "°C",
"max": 30,
"min": 14,
"read": true,
"write": false,
"update": true
},
"native": {
"dpt": "DPT9.0001",
"address": "1/3/120",
"addressRefId": "P-0388-0_GA-161",
"statusGARefId": "",
"actGARefId": "",
"objRef": "O-109_R-376",
"devName": "M-0083_A-003A-14-6F23",
"devInst": "P-0388-0_DI-12",
"objectSize": ""
},
"acl": {
"object": 1638,
"owner": "system.user.admin",
"ownerGroup": "system.group.administrator",
"state": 1638
},
"_id": "knx.0.UG.Heizung.Sollwert_Roger",
"type": "state"
}Hier das Objekt 1/3/10:
{
"_id": "knx.0.UG.Heizung.Sollwert_Komfort_Roger",
"type": "state",
"common": {
"name": "Sollwert Komfort Roger",
"type": "number",
"role": "value",
"unit": "°C",
"max": 670670,
"min": -273,
"read": true,
"write": true,
"update": true
},
"native": {
"dpt": "DPT9.0001",
"address": "1/3/10",
"addressRefId": "P-0388-0_GA-167",
"statusGARefId": "",
"actGARefId": "",
"objRef": "O-107_R-348",
"devName": "M-0083_A-003A-14-6F23",
"devInst": "P-0388-0_DI-12",
"objectSize": ""
},
"from": "system.adapter.knx.0",
"user": "system.user.admin",
"ts": 1606833244526,
"acl": {
"object": 1638,
"owner": "system.user.admin",
"ownerGroup": "system.group.administrator",
"state": 1638
}
}Geschrieben wird in die GA 1/3/10, der Status wird ausgelesen aus 1/3/120
Was ich nicht schaffe ist, einen neuen Wert über IOBroker Objekteditor in 1/3/10 zu schreiben ...
Jemand ne Idee?
Gruß
Roger -
RE: Probleme beim Schalten eines KNX Objektes
@frankthegreat Guter Tipp, prüfe ich trotzdem mal nach. Danke.