Hallo, @Beowolf ,
das Programm findest Du im iobroker dann unter hm-rega.0 und das sollte dann so aussehen:
[image: 1590231386587-f11aec8e-a870-4d86-821c-c07ebf988748-image.png]
Mit Deinem Script setzt Du dann den Datenpunkt ProgrammExecute auf true, das Programm in der CCU wird dann ausgeführt. Du musst dann aber im gleichen Script den DP mit einer Verzögerung wieder auf false setzen.
iobroker fix habe ich laufen lassen:
evtl. wars dies :
==========================================================================
Checking ioBroker user and directory permissions (2/3)
==========================================================================
Created /etc/sudoers.d/iobroker
Fixing directory permissions...
Javascript lies sich dann ohne Fehler upgraden.
Danke.
@paul53 Hi Paul, habs jetzt indirekt gelöst. Ich frage jetzt im HTML Bereich den Datenpunkt ab und speicher den in eine Variable. Dann übergebe ich diese Variable einer Funktion die dann diesen Datenpunkt Global definiert. Somit hab ich diesen Datenpunkt im JS Code solange zur Verfügung bis er überschrieben wird. Ist zwar nicht grad was ich wollte, aber mir ist danach erst gekommen, dass ja der Datenpunkt im Javascript Code garnicht aktualisiert wird wenn das HTML Widget nicht aktualisiert wird. Das wird ja erst dann aktualisiert wenn ich einen Datenpunkt einfüge und dieser aktualisiert wird, richtig? Insofern hätte ich ja dann keine Aktulisierung des Datenpunktes im JS Code, weil das Widget nicht aktualisiert wird weil da kein Datenpunkt drin ist.... weißt was ich meine?
Ich habe es gerade ausprobiert:
wenn ich ein Objekt unter javascript.0.test anlege (typ string), dann kann ich es mit 'true' verändern.
wenn ich ein Objekt unter mqtt.0.test anlege (typ string), dann kann ich es mit 'true' NICHT verändern.
@skorpil sagte:
warum wird jetzt nur der numerische Wert (0,1,2,3) ausgegeben und nicht die Inhalte der SV "rein, raus, stop"?
Eine Werteliste enthält Zahlenwerte, denen über die Eigenschaft common.states Zustandstexte zugeordnet sind.
Hallo Paul,
Du hast wie immer recht.
Mein Problem ist 'true' oder true.
Schau dir bitte den Beitrag an:
https://forum.iobroker.net/topic/33480/js-mqtt-string-objekt-setstate-true-oder-true
Ich meine, das ist mein eigentliches Problem.
Vielen Dank
So ich habe es doch noch herausgefunden.
Es gibt jetzt noch eine weitere Funktion:
for (i=0; i<=(anzahlVentile-1); i++) {
if(getState(idAuswahl[i]).val) {
setState(idCounter[i],getState(idZeiten[i]).val);
SetTimeout(i);
}
}
}
function SetTimeout(wert) {
delay[wert] = setTimeout(function() {startVentil(wert);}, verzoegerungen[wert]*5000);
}
@paul53: danke für deine Hilfe
ich hatte mal ne Wrapperklasse gebastelt
in der ich setstate und createstate
verwurstet habe, findest du hier:
https://github.com/Nahasapeemapetilon/MyTelegramMenu/blob/master/lib/iobrokerfunctionswithpromise.js
genutzt habe ich es zum Beispiel hier:
https://github.com/Nahasapeemapetilon/MyTelegramMenu/blob/master/lib/menuitemreport.js
Viele Grüße
Ich glaube das ist ein Fehler im Adapter selbst. Bitte mal ein Issue mit der Fehlermeldung aufmachen ==> https://github.com/ioBroker/ioBroker.javascript
Mir ist Nichts anderes mehr eingefallen als einfach mal den ioBroker zu beenden UND jetzt auch das Linux System neu zu starten. Jetzt ist seit 90 Minuten Ruhe :) . Hoffe das bleibt so.
Update:
nach 16Stunden ist immer noch alles OK. Den ioBroker hatte ich ja schon mehrfach neu gestartet, die Lösung war wohl die Linux VM auch neu zu starten.
So macht das wieder Spaß :)
@moehre Hallo moehre,
ich stecke gerade am gleichen Punkt wie du und versuche meine Helios KWL in iobroker zu integrieren. Ich habe jetzt auch schon eine ganze Weile versucht mit dem modbus-Adapter zum Ziel zu kommen, leider bisher ohne Erfolg.
Jetzt habe ich gesehen, dass du den XML ansatz erfolgreich hinbekokmmen hast. Wie bist du denn final vorgegangen um die für dich relevanten Informatzionen zu bekommen?
Grüße