NEWS
Gelöst: Obejtktdaten ändern
-
@michihorn sagte: Eigenschaft"write" auf false setzen
const idrega ="hm-rega.0.22357"; on({id: idrega}, function (dp) { const obj = getObject(dp.id); if(obj.common.write) { obj.common.write = false; setObject(dp.id, obj); } }); -
@michihorn sagte: Eigenschaft"write" auf false setzen
const idrega ="hm-rega.0.22357"; on({id: idrega}, function (dp) { const obj = getObject(dp.id); if(obj.common.write) { obj.common.write = false; setObject(dp.id, obj); } }); -
@paul53 Leider ändern sich die Objektdaten nicht. Zumindest in UI unter Objekt bearbeiten, steht immer noch true

@michihorn sagte: Leider ändern sich die Objektdaten nicht.
Wurde denn seitdem getriggert?
-
@michihorn sagte: Leider ändern sich die Objektdaten nicht.
Wurde denn seitdem getriggert?
-
@michihorn
In der Konfiguration der Javascript-Instanz ist "setObject" freigegeben? -
@michihorn
In der Konfiguration der Javascript-Instanz ist "setObject" freigegeben? -
@michihorn sagte in Gelöst: Obejtktdaten ändern:
@paul53 Das war der Fehler. Danke
Hätte da noch ne Frage zum Thema. Ich habe keine Benutzer angelegt arbeite also als Admin.
Den Datenpunkt den ich nun "write= false" setzen kann, wird aber wider erwarten beschrieben. Das passiert per Motioneye wie folgt:http://192.168.178.1xxx:80xx/set/hm-rega.0.22357?value=1&prettyPrintich hätte angenommen das für die Zeit in der "write= false" ist , dort auch keine Änderungen geschrieben werden
-
@michihorn sagte in Gelöst: Obejtktdaten ändern:
@paul53 Das war der Fehler. Danke
Hätte da noch ne Frage zum Thema. Ich habe keine Benutzer angelegt arbeite also als Admin.
Den Datenpunkt den ich nun "write= false" setzen kann, wird aber wider erwarten beschrieben. Das passiert per Motioneye wie folgt:http://192.168.178.1xxx:80xx/set/hm-rega.0.22357?value=1&prettyPrintich hätte angenommen das für die Zeit in der "write= false" ist , dort auch keine Änderungen geschrieben werden
wer hat den da reingeschrieben, kannst du erkennen wenn der Mauszeiger drüber steht

Adapter können in ihr eignen DP schreiben, nur andere können nicht.
-
wer hat den da reingeschrieben, kannst du erkennen wenn der Mauszeiger drüber steht

Adapter können in ihr eignen DP schreiben, nur andere können nicht.
-
da wirst du keine Chance haben, wie gesagt der Adapter schreibt in seine eigenen DP. Readolnly heisst nur für andere lesen.
Was ist eigentlich das Grundproblem? Mach ein neuen Thread auf vielleicht gibt es dafür eine Lösung.
-
da wirst du keine Chance haben, wie gesagt der Adapter schreibt in seine eigenen DP. Readolnly heisst nur für andere lesen.
Was ist eigentlich das Grundproblem? Mach ein neuen Thread auf vielleicht gibt es dafür eine Lösung.
@tt-tom Ich habe im um mein Haus Kameras Installiert, die Kameras laufen über Motioneye und schicken je nach Bewegungserkennung eine Nummer auf den Datenpunkt. Von dort aus wird im einem basic -iframe8 das Bild der entsprechenden Kamera angezeigt. Wenn nun eine Bewegung an der Haustür erkannt wird, wird Bild 3 gezeigt, sollte nun auch eine Bewegung im Garten erkannt werden, wird die "4" gesendet und Bild 4 wird angezeigt. Ich möchte bei Bewegungserkennung an der Haustür alle anderen möglichen Umschaltungen irgnorieren , zumindest für 1 Minute oder so. Daher der Gedanke den DP temporär "schreib zu schützen"
-
@tt-tom Ich habe im um mein Haus Kameras Installiert, die Kameras laufen über Motioneye und schicken je nach Bewegungserkennung eine Nummer auf den Datenpunkt. Von dort aus wird im einem basic -iframe8 das Bild der entsprechenden Kamera angezeigt. Wenn nun eine Bewegung an der Haustür erkannt wird, wird Bild 3 gezeigt, sollte nun auch eine Bewegung im Garten erkannt werden, wird die "4" gesendet und Bild 4 wird angezeigt. Ich möchte bei Bewegungserkennung an der Haustür alle anderen möglichen Umschaltungen irgnorieren , zumindest für 1 Minute oder so. Daher der Gedanke den DP temporär "schreib zu schützen"
spontan würde ich einen eigenen DP erstellen und die Zahlen mittels Script weiterreichen und bei 3 halt ein timeout von x.sek da zwischen, das die nächste Änderung erst dann weitergereicht wird.
-
spontan würde ich einen eigenen DP erstellen und die Zahlen mittels Script weiterreichen und bei 3 halt ein timeout von x.sek da zwischen, das die nächste Änderung erst dann weitergereicht wird.
-
@michihorn viel Erfolg :+1:
-
@michihorn viel Erfolg :+1:
@tt-tom sagte in Gelöst: Obejtktdaten ändern:
@michihorn viel Erfolg :+1:
So klappt es:
CamNr wird von Motioneye beschrieben
CamView ist zur Stuerung des basis-Iframe8
sperre ist meine Krücke zum zeitlichen Verriegelnconst idCamView = "0_userdata.0.System.CamView"; const idCamNr = "0_userdata.0.System.CamNr"; const idsperre = "0_userdata.0.System.Sperre" on({ id: idCamNr, change: "any" }, function (dp) { if ((dp.state.val) == 3) { setState(idsperre, true) setState(idCamView, 3) setTimeout(function () { setState(idsperre, false) }, 20000); } else if ((getState(idsperre).val == false) && (dp.state.val != 3)) { setState(idCamView, dp.state.val) } }); on({ id: idsperre, val: false }, function (dp) { setState(idCamView, getState(idCamNr).val) });Geht sicher auch eleganter. ;-)
