NEWS
[Gelöst] SYSTEM latitude und longitude
-
Hallo und ACHTUNG bin ANFÄNGER.
Ich möchte gerne die SYSTEM latitude und longitude Werte via Blockly auslesen und neu setzen.
In /opt/iobroker/iobroker-data/objects.jsonl finde ich die Werte.
Unter Objekte find ich die Werte aber nicht.
Grüße, Harald -
@haraldgrhein sagte: SYSTEM latitude und longitude Werte via Blockly auslesen
Dazu benötigt man eine JS-Funktion mit Ergebnis, die das Objekt "system.config" einliest.
return getObject('system.config');
@haraldgrhein sagte in SYSTEM latitude und longitude:
und neu setzen.
Nicht mit Blockly, sondern mit Javascript extendObject(). Als Anfänger möchtest Du im System Änderungen vornehmen?
-
@paul53 said in SYSTEM latitude und longitude:
return getObject('system.config');
Danke für deine schnelle Hilfe!
Die meisten Adapter arbeiten mit der System GPS Position. Diese ist statisch. Beim Einbau des iobroker in was Mobiles ist es recht nutzlos. Ich habe es schon geschafft GPS Koordinaten aus einer Mobotix Kamera auszulesen, diese möchte ich nun (BACKUP von iobroker ist gemacht! Auf Fehler und Neuanfang bin ich seelisch vorbereitet) dem iobroker System dynamisch geben.Ich habe ein neues Blockly angelegt, und bekomme allerdings NULL Werte zurück.
Außer dem Blockly habe ich nichts angelegt. D.h. mit deiner Zeile "return getObject('system.config');" konnte ich nichts anfangen.var config;
// JS-Funktion mit Ergebnis, die das Objekt "system.config" einliest.
async function sysConfig() {
return 0;
}config = await sysConfig();
console.log(getAttr(config, 'common.longitude'));
console.log(getAttr(config, 'common.latitude'));Der Debug lautet:
18:15:16.890 silly javascript.0 (28253) Objects user redis pmessage */cfg.o.script.js.BOOTSALARME.GPSsystemLESEN:{"common":{"name":"GPSsystemLESEN","expert":true,"engineType":"Blockly","engine":"system.adapter.javascript.0","source":"var config;\n\n// JS-Funktion mit Ergebnis, die das Objekt "system.config" einliest.\nasync function sysConfig() {\n return 0;\n}\n\n\nconfig = await sysConfig();\nconsole.log(getAttr(config, 'common.longitude'));\nconsole.log(getAttr(config, 'common.latitude'));\n\n//JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyeURSJTVFQmJraCklNUIlNDBUJTJCKmVlZlQ0SyUyMiUzRWNvbmZpZyUzQyUyRnZhcmlhYmxlJTNFJTNDJTJGdmFyaWFibGVzJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIycHJvY2VkdXJlc19kZWZjdXN0b21yZXR1cm4lMjIlMjBpZCUzRCUyMkxCazQlM0ZBVCUzRiUyNTUxT1l0JTI1WCUzQnIlMkN0JTIyJTIweCUzRCUyMjM4JTIyJTIweSUzRCUyMjYyJTIyJTNFJTNDbXV0YXRpb24lMjBzdGF0ZW1lbnRzJTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5BTUUlMjIlM0VzeXNDb25maWclM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNDUklQVCUyMiUzRWNtVjBkWEp1SURBNyUzQyUyRmZpZWxkJTNFJTNDY29tbWVudCUyMHBpbm5lZCUzRCUyMmZhbHNlJTIyJTIwaCUzRCUyMjgwJTIyJTIwdyUzRCUyMjE2MCUyMiUzRUpTLUZ1bmt0aW9uJTIwbWl0JTIwRXJnZWJuaXMlMkMlMjBkaWUlMjBkYXMlMjBPYmpla3QlMjAlMjJzeXN0ZW0uY29uZmlnJTIyJTIwZWlubGllc3QuJTNDJTJGY29tbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIya1NWZ05+ciUzQWpNJTdEJTdDJTNEJTNGQiUyMyl+R04lMjIlMjB4JTNEJTIyMzglMjIlMjB5JTNEJTIyMTEzJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJ5RFIlNUVCYmtoKSU1QiU0MFQlMkIqZWVmVDRLJTIyJTNFY29uZmlnJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnByb2NlZHVyZXNfY2FsbGN1c3RvbXJldHVybiUyMiUyMGlkJTNEJTIySEwlMkZtMVAlN0QlN0RtU0prKE8yQzclMkNpUCUyMiUzRSUzQ211dGF0aW9uJTIwbmFtZSUzRCUyMnN5c0NvbmZpZyUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyJTJGSFRmXzZiZ1klN0QlM0FJJTdDaWM5ZSp2OCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNldmVyaXR5JTIyJTNFbG9nJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMiU2MCU3Q1M3JTQwJTdDeGhuc1glMjQ4U1dSYnYlMkM4JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRXRlc3QlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF9hdHRyJTIyJTIwaWQlM0QlMjJvUGcyQmcoJTYwM3doUCU3RHhpJTQwJTI1WX5tJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyUEFUSCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjIlM0Z0LXlTNEdGdCUzQX4lMjVVb1YlN0QlNDA4c2clMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFY29tbW9uLmxvbmdpdHVkZSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPQkpFQ1QlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjIwWSUzQSUyNGxvcURmUWxJJTIzYzchTiUyNXklMjUlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnlEUiU1RUJia2gpJTVCJTQwVCUyQiplZWZUNEslMjIlM0Vjb25maWclM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmRlYnVnJTIyJTIwaWQlM0QlMjJwUiowVyUzRmJMenhGTSUyQmE0UWpsdiglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWxvZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRXRlc3QlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF9hdHRyJTIyJTIwaWQlM0QlMjJTJTVEdVRtVVYlM0FTMVF3NCgyVFclN0NWJTJCJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyUEFUSCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJjSFpwVlBiX0slM0JYVE50Wkk3c2clMkIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFY29tbW9uLmxhdGl0dWRlJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9CSkVDVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMi51IXhJWUclMkZ6b2klMkYzKVJlUio5JTdCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJ5RFIlNUVCYmtoKSU1QiU0MFQlMkIqZWVmVDRLJTIyJTNFY29uZmlnJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGeG1sJTNF","debug":false,"verbose":false,"enabled":true},"type":"script","from":"system.adapter.admin.0","user":"system.user.admin","ts":1655050516885,"_id":"script.js.BOOTSALARME.GPSsystemLESEN","acl":{"object":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"}}
18:15:17.063 info javascript.0 (28253) Start javascript script.js.BOOTSALARME.GPSsystemLESEN
18:15:17.067 info javascript.0 (28253) script.js.BOOTSALARME.GPSsystemLESEN: registered 0 subscriptions and 0 schedules
18:15:17.068 info javascript.0 (28253) script.js.BOOTSALARME.GPSsystemLESEN: null
18:15:17.068 info javascript.0 (28253) script.js.BOOTSALARME.GPSsystemLESEN: null -
@haraldgrhein sagte in SYSTEM latitude und longitude:
return 0;
Da fehlt die Angabe in deinem Blockly von @paul53
return getObject('system.config');
... und silly BRAUCHST DU NICHT ... da reicht die Normale Logausgabe
-
und das ganze oben ... die Code´s und Ausgaben bitte in Code-tags packen .
siehe hier :
https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge -
@glasfaser said in SYSTEM latitude und longitude:
https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge
Danke, Codetags mache ich, lässt sich viel besser lesen.
Aber wie beim meiner ersten Antwort geschrieben verstehe ich immer noch nicht wo ichreturn getObject('system.config');
einbauen muss. In das gleiche Blockly geht das wohl nicht.
-
@haraldgrhein sagte: return 0;
Auf die 3 Punkte rechts im Funktionsblock klicken und "return 0;" ersetzen durch die Zeile, die ich über dem Blockly-Bild gepostet habe.
-
-
Jetzt hat es geklappt. Klasse und Danke!
18:46:03.115 info javascript.0 (28253) Start javascript script.js.BOOTSALARME.GPSsystemLESEN 18:46:03.132 info javascript.0 (28253) script.js.BOOTSALARME.GPSsystemLESEN: registered 0 subscriptions and 0 schedules 18:46:03.132 info javascript.0 (28253) script.js.BOOTSALARME.GPSsystemLESEN: 8.156189999999999 18:46:03.132 info javascript.0 (28253) script.js.BOOTSALARME.GPSsystemLESEN: 50.0377108
Grüße von den Porquerolles
-
@paul53 sagte in SYSTEM latitude und longitude:
@haraldgrhein sagte in SYSTEM latitude und longitude:und neu setzen.
Nicht mit Blockly, sondern mit Javascript extendObject(). Als Anfänger möchtest Du im System Änderungen vornehmen?
und was ist hiermit !?
-
@haraldgrhein sagte in SYSTEM latitude und longitude:
Grüße von den Porquerolles
Uhii ...... sehr schön auf der Insel ( hast aber guten WLAN Empfang )
-
@glasfaser
meinst du das setzten der System Werte? Oder die Gefahr das System zu schrotten?
Das Lesen ist der erste Schritt. Geht das setzen genauso? -
@glasfaser
5G Huawei Router, im Ausland kein Problem. Nur in Deutschland musst du 5G suchen.... -
@haraldgrhein sagte: Oder die Gefahr das System zu schrotten?
Die Gefahr besteht durchaus. Willst Du das Risiko eingehen?
-
@paul53
Danke für deine eindringliche Warnung.
Wenn es eine unterstützte Funktion ist möchte ich es machen.
Falls es einen Adapter gibt der erprobt ist wäre es mir natürlich lieber.
Wäre bestimmt der sichere Weg. Aber ohne diesen muss ich es selbst hinbekommen.
Wie gesagt, eine Backup habe ich ohnehin. -
@haraldgrhein sagte: möchte ich es machen.
Dann wird in Blockly eine Javascript-Funktion mit folgendem Inhalt benötigt:
extendObject('system.config', {common: {latitude: lat, longitude: lon}});
-
Danke, das probiere ich in Ruhe aus.
Will ja nix überschnell schotten.
Und muss jetzt erst zum KüchendienstDanke dir herzlich und melde mich mit dem Ergebnis zurück!
Grüße -
@haraldgrhein sagte: Die meisten Adapter arbeiten mit der System GPS Position. Diese ist statisch.
Welche Adapter sind es?
Der Javascript-Adapter verwendet die System-Position nur für Astro-Funktionen (Sonnenauf-/-untergang u.s.w.). Die System-Position sollte statisch bleiben, d.h. während einer Fahrt nicht ständig verändert werden. Gelegentliche (manuelle) Änderungen sind kein Problem. -
Ich zeige mal was geht und leider klemmt noch das setzen im System.
3 Blockly Skripte.- Alle 10 Sekunden Auslesen des Mobotix Kamera GPS Moduls und speichern der Position.
- (nur informativ) Lesen der GPS System Position.
- Setzen der System GPS Position mit der gespeicherten Mobotix GPS Modul Position (aktuelle Position).
Alle 10 Sekunden Auslesen des Mobotix Kamera GPS Moduls und setzen speichern der Position.
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="/4z)GN?}xgO+y,WzT1gD">i</variable> <variable id="cQ)Z^3Ae@)(=z?o-{C4+">result</variable> </variables> <block type="comment" id="h`yDN9:ym~?u}=4_E?+x" x="-587" y="-862"> <field name="COMMENT">Hole MXgpsModul Position und schreibe in Objekt</field> <next> <block type="controls_for" id="w@0xcCNmD8]p#GK|:[yM"> <field name="VAR" id="/4z)GN?}xgO+y,WzT1gD">i</field> <value name="FROM"> <shadow type="math_number" id=";L3BF`x06W]Mlw)uH1$="> <field name="NUM">1</field> </shadow> </value> <value name="TO"> <shadow type="math_number" id="%1b89McpT*i4E_ed0drP"> <field name="NUM">2</field> </shadow> </value> <value name="BY"> <shadow type="math_number" id="a@^ZNRYrn6Q.?xqS)?[?"> <field name="NUM">0</field> </shadow> </value> <statement name="DO"> <block type="debug" id="fw0Kd{E=aN2XQ5OL!R?B"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="t19S7tS*/XcC)AGAIRc0"> <field name="TEXT">Hole jetzt GPS Position</field> </shadow> </value> <next> <block type="request" id="P4P$=i`5EVznmJg[sMCu"> <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation> <field name="WITH_STATEMENT">TRUE</field> <field name="LOG">log</field> <value name="URL"> <shadow type="text" id="uI1yiBiCmH9^g*VO`+qz"> <field name="TEXT">http://192.168.29.2/control/rcontrol?action=gettext&message=$(SEN.GPS)</field> </shadow> </value> <statement name="STATEMENT"> <block type="update" id="n`;ar=V3|wv/8z:C]|pI"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Presence.MobotixHeckGPSraw</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="LO|*n}I0N(^A%8x4Lr83"> <field name="VAR" id="cQ)Z^3Ae@)(=z?o-{C4+">result</field> </block> </value> <next> <block type="debug" id="0TONy}wdty-11-PVPt^~"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="J;~1ILMWb1r!3y[rsm#."> <field name="VAR" id="cQ)Z^3Ae@)(=z?o-{C4+">result</field> </block> </value> <next> <block type="update" id="#fEXMQ0=^Wx9lx^EBrlq"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Presence.MobotixHeckGPSlaengengrad</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_getSubstring" id="kQaTt_4FsiM1T2f-^MJf"> <mutation at1="true" at2="true"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="variables_get" id="KBlKhT|UUh9U.JX$b-Jk"> <field name="VAR" id="cQ)Z^3Ae@)(=z?o-{C4+">result</field> </block> </value> <value name="AT1"> <block type="math_number" id="0xqyZ7OeFGQ//HD#kds_"> <field name="NUM">1</field> </block> </value> <value name="AT2"> <block type="math_arithmetic" id="Gvz`P^2bZx=Lc:dr{y/S"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="text_indexOf" id="AdtE:(Mf[fWjO1WgBikq"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="#Z(/tM]LNG|sm%OR/s4u"> <field name="VAR" id="cQ)Z^3Ae@)(=z?o-{C4+">result</field> </block> </value> <value name="FIND"> <shadow type="text" id="y_lDsL|+afbf7P_+Ey|o"> <field name="TEXT">,</field> </shadow> </value> </block> </value> <value name="B"> <shadow type="math_number" id="$DIi1LOq$aJ:tC1JeM3B"> <field name="NUM">1</field> </shadow> </value> </block> </value> </block> </value> <next> <block type="debug" id="U-_+1Cx%S`y|E$D$ohLF"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="sOUMA($(uJ=PwEF3hw#r"> <field name="TEXT">test</field> </shadow> <block type="get_value" id="IS3gB7gCAh78m{)en-@A"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Presence.MobotixHeckGPSlaengengrad</field> </block> </value> <next> <block type="update" id="4}6O[s@G1-o_z2w~Jw9c"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Presence.MobotixHeckGPSbreitengrad</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_getSubstring" id="DbP3@P7nGdhQl^r+/:LT"> <mutation at1="true" at2="true"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="variables_get" id="}N]@eIjtS]v.6MAV46;y"> <field name="VAR" id="cQ)Z^3Ae@)(=z?o-{C4+">result</field> </block> </value> <value name="AT1"> <block type="math_arithmetic" id="ch?Rb7L2bvZw`[s@L*5F"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="text_indexOf" id="%-qiYG6By??SzR.AS0}0"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="V,B?C%utSnm6zEI!=/aG"> <field name="VAR" id="cQ)Z^3Ae@)(=z?o-{C4+">result</field> </block> </value> <value name="FIND"> <shadow type="text" id="+BhCkD[#k_e(qb.J@?(;"> <field name="TEXT">,</field> </shadow> </value> </block> </value> <value name="B"> <shadow type="math_number" id="e._GuB*-hR+bx)dM|aFU"> <field name="NUM">1</field> </shadow> </value> </block> </value> <value name="AT2"> <block type="text_indexOf" id="!%CZH?fn$=SFD7Ql*THq"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="h*BL+tL?2stNXERFw5*u"> <field name="VAR" id="cQ)Z^3Ae@)(=z?o-{C4+">result</field> </block> </value> <value name="FIND"> <shadow type="text" id=";?uB:e3G;1|Mfj}TDp(a"> <field name="TEXT"> </field> </shadow> </value> </block> </value> </block> </value> <next> <block type="debug" id="7n*#On@Pj9wN[ocs.I%!"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text"> <field name="TEXT">test</field> </shadow> <block type="get_value" id="Q$c$Uoq79sx}_WngWs!j"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Presence.MobotixHeckGPSbreitengrad</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <next> <block type="timeouts_wait" id="u*o8I*OWZaX~oiMWa$$:"> <field name="DELAY">10000</field> <field name="UNIT">ms</field> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </xml>
(nur informativ) Lesen der GPS System Position.
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="yDR^Bbkh)[@T+*eefT4K">config</variable> </variables> <block type="procedures_defcustomreturn" id="LBk4?AT?%51OYt%X;r,t" x="38" y="62"> <mutation statements="false"></mutation> <field name="NAME">sysConfig</field> <field name="SCRIPT">cmV0dXJuIGdldE9iamVjdCgnc3lzdGVtLmNvbmZpZycpOw==</field> <comment pinned="false" h="80" w="160">JS-Funktion mit Ergebnis, die das Objekt "system.config" einliest.</comment> </block> <block type="variables_set" id="kSVgN~r:jM}|=?B#)~GN" x="38" y="113"> <field name="VAR" id="yDR^Bbkh)[@T+*eefT4K">config</field> <value name="VALUE"> <block type="procedures_callcustomreturn" id="HL/m1P}}mSJk(O2C7,iP"> <mutation name="sysConfig"></mutation> </block> </value> <next> <block type="debug" id="/HTf_6bgY}:I|ic9e*v8"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="`|S7@|xhnsX$8SWRbv,8"> <field name="TEXT">test</field> </shadow> <block type="get_attr" id="oPg2Bg(`3whP}xi@%Y~m"> <value name="PATH"> <shadow type="text" id="?t-yS4GFt:~%UoV}@8sg"> <field name="TEXT">common.longitude</field> </shadow> </value> <value name="OBJECT"> <block type="variables_get" id="0Y:$loqDfQlI#c7!N%y%"> <field name="VAR" id="yDR^Bbkh)[@T+*eefT4K">config</field> </block> </value> </block> </value> <next> <block type="debug" id="pR*0W?bLzxFM+a4Qjlv("> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text"> <field name="TEXT">test</field> </shadow> <block type="get_attr" id="S]uTmUV:S1Qw4(2TW|V+"> <value name="PATH"> <shadow type="text" id="cHZpVPb_K;XTNtZI7sg+"> <field name="TEXT">common.latitude</field> </shadow> </value> <value name="OBJECT"> <block type="variables_get" id=".u!xIYG/zoi/3)ReR*9{"> <field name="VAR" id="yDR^Bbkh)[@T+*eefT4K">config</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </xml>
Setzen der System GPS Position mit der gespeicherten Mobotix GPS Modul Position (aktuelle Position).
Das Skript funktioniert leider noch nicht. bring aber keine Fehlermeldung.<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="jKWL,6)9FV*n[f|lLI,4">lat</variable> <variable id="ci4;,I=ACyier:mGthg4">lon</variable> </variables> <block type="procedures_defcustomnoreturn" id="hl8X/4sm6czB8:guYEK:" x="-162" y="38"> <mutation statements="false"> <arg name="lat" varid="jKWL,6)9FV*n[f|lLI,4"></arg> <arg name="lon" varid="ci4;,I=ACyier:mGthg4"></arg> </mutation> <field name="NAME">setLocation</field> <field name="SCRIPT">ZXh0ZW5kT2JqZWN0KCdzeXN0ZW0uY29uZmlnJywge2NvbW1vbjoge2xhdGl0dWRlOiBsYXQsIGxvbmdpdHVkZTogbG9ufX0pOw==</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="variables_set" id="3Fjc-L?;5XgO4;0G{OS:" x="-162" y="88"> <field name="VAR" id="jKWL,6)9FV*n[f|lLI,4">lat</field> <value name="VALUE"> <block type="get_value" id="b|h1Qs51Exz`$v#XBiem"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Presence.MobotixHeckGPSbreitengrad</field> </block> </value> <next> <block type="variables_set" id="x.`_K(KxiLPns$wMJ.#8"> <field name="VAR" id="ci4;,I=ACyier:mGthg4">lon</field> <value name="VALUE"> <block type="get_value" id="T9jMSLB*1r$vuY^q3fy+"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Presence.MobotixHeckGPSlaengengrad</field> </block> </value> <next> <block type="debug" id="/HTf_6bgY}:I|ic9e*v8"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="`|S7@|xhnsX$8SWRbv,8"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="47!*)HB7,REq0@86`y15"> <field name="VAR" id="jKWL,6)9FV*n[f|lLI,4">lat</field> </block> </value> <next> <block type="debug" id="pR*0W?bLzxFM+a4Qjlv("> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="[{v^l+O!e!FK;QT?i^86"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="GA:3Ld!e+JF?fI7g[Vp)"> <field name="VAR" id="ci4;,I=ACyier:mGthg4">lon</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </xml>
Der Debug (silly) output ist
6/13/2022, 6:37:47 PM.261 [silly]: javascript.0 (2907) Objects user redis pmessage */cfg.o.script.js.BOOTSALARME.GPSsystemSETZEN:{"common":{"name":"GPSsystemSETZEN","expert":true,"engineType":"Blockly","engine":"system.adapter.javascript.0","source":"var lat, lon;\n\n// Beschreibe diese Funktion …\nasync function setLocation(lat, lon) {\n extendObject('system.config', {common: {latitude: lat, longitude: lon}});\n}\n\n\nlat = getState(\"0_userdata.0.Presence.MobotixHeckGPSbreitengrad\").val;\nlon = getState(\"0_userdata.0.Presence.MobotixHeckGPSlaengengrad\").val;\nconsole.log(lat);\nconsole.log(lon);\n\n//JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyaktXTCUyQzYpOUZWKm4lNUJmJTdDbExJJTJDNCUyMiUzRWxhdCUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjBpZCUzRCUyMmNpNCUzQiUyQ0klM0RBQ3lpZXIlM0FtR3RoZzQlMjIlM0Vsb24lM0MlMkZ2YXJpYWJsZSUzRSUzQyUyRnZhcmlhYmxlcyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnByb2NlZHVyZXNfZGVmY3VzdG9tbm9yZXR1cm4lMjIlMjBpZCUzRCUyMmhsOFglMkY0c202Y3pCOCUzQWd1WUVLJTNBJTIyJTIweCUzRCUyMi0xNjIlMjIlMjB5JTNEJTIyMzglMjIlM0UlM0NtdXRhdGlvbiUyMHN0YXRlbWVudHMlM0QlMjJmYWxzZSUyMiUzRSUzQ2FyZyUyMG5hbWUlM0QlMjJsYXQlMjIlMjB2YXJpZCUzRCUyMmpLV0wlMkM2KTlGVipuJTVCZiU3Q2xMSSUyQzQlMjIlM0UlM0MlMkZhcmclM0UlM0NhcmclMjBuYW1lJTNEJTIybG9uJTIyJTIwdmFyaWQlM0QlMjJjaTQlM0IlMkNJJTNEQUN5aWVyJTNBbUd0aGc0JTIyJTNFJTNDJTJGYXJnJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOQU1FJTIyJTNFc2V0TG9jYXRpb24lM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNDUklQVCUyMiUzRVpYaDBaVzVrVDJKcVpXTjBLQ2R6ZVhOMFpXMHVZMjl1Wm1sbkp5d2dlMk52YlcxdmJqb2dlMnhoZEdsMGRXUmxPaUJzWVhRc0lHeHZibWRwZEhWa1pUb2diRzl1ZlgwcE93JTNEJTNEJTNDJTJGZmllbGQlM0UlM0Njb21tZW50JTIwcGlubmVkJTNEJTIyZmFsc2UlMjIlMjBoJTNEJTIyODAlMjIlMjB3JTNEJTIyMTYwJTIyJTNFQmVzY2hyZWliZSUyMGRpZXNlJTIwRnVua3Rpb24lMjAlRTIlODAlQTYlM0MlMkZjb21tZW50JTNFJTNDJTJGYmxvY2slM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjIzRmpjLUwlM0YlM0I1WGdPNCUzQjBHJTdCT1MlM0ElMjIlMjB4JTNEJTIyLTE2MiUyMiUyMHklM0QlMjI4OCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyaktXTCUyQzYpOUZWKm4lNUJmJTdDbExJJTJDNCUyMiUzRWxhdCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMmIlN0NoMVFzNTFFeHolNjAlMjR2JTIzWEJpZW0lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0UwX3VzZXJkYXRhLjAuUHJlc2VuY2UuTW9ib3RpeEhlY2tHUFNicmVpdGVuZ3JhZCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJ4LiU2MF9LKEt4aUxQbnMlMjR3TUouJTIzOCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyY2k0JTNCJTJDSSUzREFDeWllciUzQW1HdGhnNCUyMiUzRWxvbiUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMlQ5ak1TTEIqMXIlMjR2dVklNUVxM2Z5JTJCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFMF91c2VyZGF0YS4wLlByZXNlbmNlLk1vYm90aXhIZWNrR1BTbGFlbmdlbmdyYWQlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZGVidWclMjIlMjBpZCUzRCUyMiUyRkhUZl82YmdZJTdEJTNBSSU3Q2ljOWUqdjglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWxvZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjIlNjAlN0NTNyU0MCU3Q3hobnNYJTI0OFNXUmJ2JTJDOCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0V0ZXN0JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjI0NyEqKUhCNyUyQ1JFcTAlNDA4NiU2MHkxNSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyaktXTCUyQzYpOUZWKm4lNUJmJTdDbExJJTJDNCUyMiUzRWxhdCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIycFIqMFclM0ZiTHp4Rk0lMkJhNFFqbHYoJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0Vsb2clM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyJTVCJTdCdiU1RWwlMkJPIWUhRkslM0JRVCUzRmklNUU4NiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0V0ZXN0JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJHQSUzQTNMZCFlJTJCSkYlM0ZmSTdnJTVCVnApJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJjaTQlM0IlMkNJJTNEQUN5aWVyJTNBbUd0aGc0JTIyJTNFbG9uJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ4bWwlM0U=","debug":false,"verbose":false,"enabled":true},"type":"script","from":"system.adapter.admin.0","user":"system.user.admin","ts":1655138267253,"_id":"script.js.BOOTSALARME.GPSsystemSETZEN","acl":{"object":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"}} 6/13/2022, 6:37:47 PM.318 [info ]: javascript.0 (2907) Start javascript script.js.BOOTSALARME.GPSsystemSETZEN 6/13/2022, 6:37:47 PM.322 [info ]: javascript.0 (2907) script.js.BOOTSALARME.GPSsystemSETZEN: +6.2004770 6/13/2022, 6:37:47 PM.322 [info ]: javascript.0 (2907) script.js.BOOTSALARME.GPSsystemSETZEN: +43.0023956 6/13/2022, 6:37:47 PM.322 [info ]: javascript.0 (2907) script.js.BOOTSALARME.GPSsystemSETZEN: registered 0 subscriptions and 0 schedules
Zu deiner Frage welche Adapter die System GPS nutzt fallen mir auch nur die Astro-Funktionen ein.
Daran ist es mir ja auch aufgefallen und ich habe das verallgemeinert.Ein Auto/Boot ist schon hat schon besondere Anforderungen. Alle Logik ist abhängig davon wo du bist.
Egal ob Stromüberwachung oder Türen, Wassereinbruch, Füllstände.
Bin ich zuhause (oder im Heimat Liegeplatz) ist mir Wasserfüllstände egal, Strom aber wichtig, usw.
Mir sind schon zwei mal die Batterien kaputt gegangen weil die Sicherung aus war.
Dann kommst du nach zwei Wochen zurück und alle Batterien sind tiefentladen, Schrott. -
@haraldgrhein sagte: Alle 10 Sekunden Auslesen des Mobotix Kamera GPS Moduls und speichern der Position.
Es werden Strings in die Datenpunkte geschrieben. Man kann keinen Datenpunkt schreiben und ihn gleich wieder einlesen, da "aktualisiere" asynchron ausgeführt wird.
Was liefert request() in result?@haraldgrhein sagte in SYSTEM latitude und longitude:
Das Skript funktioniert leider noch nicht. bring aber keine Fehlermeldung.
Es wird auch nur einmal beim Skriptstart ausgeführt, denn es fehlt der Trigger.
Die Funktion wird nirgend aufgerufen, das Objekt also nicht geschrieben.