NEWS
Aus Esp32 Soc wert soll Tasmota Gosund schalten
-
Hallo
Ich habe ein ESP32 welches mein JK-BMS ausließt.
Ein wert davon ist der SOC wert. Diesen möchte ich gerne nutzen um damit mein Gosund Sp1 (Sonoff) Adapter zu schalten.
Also bei Soc wert <70 soll der Sonoff adaper an gehen und bei Soc Wert >50 wieder aus.Hierfür müsste der wert von dem sonoff adapert "tasmota POWER" von FALSE auf TRUE gestetzt werden
und der Soc wert aus jkbms/Data/Percent Remain ausgelesen werden.
Könnte mir einer sagen wie ich das in Blockly umsetzten kann...
Vielen Dank vorab
-
@sralus dafür müsstest Du Dir einen zwischen Schritt bauen, welcher den vorherigen und neuen Wert speichert.
Also sagen wir, es war vorher <50 und ist jetzt >=50 dann schalten.
Gleiches anders herum.Also dann wie folgt:
wenn updata von "jkbms/Data/Percent"
-> dann update Wert(alt) mit Wert(Neu)
-> dann update Wert(neu) mit "jkbms/Data/Percent"Verstehst Du das?
Grüße
-
@dismaster
Hallo
Vielen Dank für die Antwort aber leider fehlt mir das nötige wissen um das so umzusetzten.
Würdest du mir evtl. ein beispiel von Blockly erstellen ?Dann hätte ich den aufbau schonmal richtig.
Dann würde ich die nötigen Daten punkte dort eintragen.
Vielen Dank vorab
Gruß
Sralus -
@dismaster
Hallo so in etwa aber läuft nicht wirklich ..
oder so _
on({id: [].concat(['mqtt.0.Data.Percent_Remain']), change: "ne"}, async function (obj) { let value = obj.state.val; let oldValue = obj.oldState.val; if (getState("mqtt.0.Data.Percent_Remain").ack <= 50) { setState("sonoff.0.Tasmota.POWER"/*Tasmota POWER*/, true); } else { if (getState("mqtt.0.Data.Percent_Remain").ack == 50) { setState("sonoff.0.Tasmota.POWER"/*Tasmota POWER*/, false);
Evtl. weißt du ja was ich falsch gemacht habe
-
@sralus sagte: bei Soc wert <70 soll der Sonoff adaper an gehen und bei Soc Wert >50 wieder aus.
Sind die Vergleiche nicht falsch herum?
Du meinst, die Gosund Sp1 soll geschaltet werden?Prinzip 2-Punkt-Regler:
@sralus sagte in Aus Esp32 Soc wert soll Tasmota Gosund schalten:
if (getState("mqtt.0.Data.Percent_Remain").ack <= 50) {
Vergleich mit Bestätigung anstelle von Wert?
-
@paul53 Hallo
Vielen Dank für deine Antwort.
Ich habe es jetzt so umgestetz:
Der code sieht dann so aus :
var akator; akator = getState("sonoff.0.Tasmota.POWER").val; on({id: "mqtt.0.Data.Percent_Remain"/*jkbms/Data/Percent_Remain*/, change: "ne"}, async function (obj) { let value = obj.state.val; let oldValue = obj.oldState.val; if ((obj.state ? obj.state.val : "") < 10) { akator = false; } else if ((obj.state ? obj.state.val : "") > 19) { akator = true; } if (akator != getState("sonoff.0.Tasmota.POWER").val) { setState("sonoff.0.Tasmota.POWER"/*Tasmota POWER*/, akator); } });
Im Ordner Protokolle kommt dann aber :
2024-04-01 14:33:11.384 - info: admin.0 (2268) ==> Connected system.user.admin from ::ffff:192.168.0.33
2024-04-01 14:33:14.968 - info: javascript.0 (62589) Stop script script.js.Boiler
2024-04-01 14:33:16.844 - info: javascript.0 (62589) Start javascript script.js.Boiler
2024-04-01 14:33:16.849 - info: javascript.0 (62589) script.js.Boiler: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
2024-04-01 14:33:16.852 - info: javascript.0 (62589) State value to set for "javascript.0.scriptProblem.Boiler" has to be type "number" but received type "boolean"
2024-04-01 14:33:21.249 - info: admin.0 (2268) <== Disconnect system.user.admin from ::ffff:192.168.0.33 javascriptLeider weiß ich nicht wie ich jetzt wo was ändern muss damit das auslesen des SOC wert das Gosund Sp1 relais schaltet ..
Vielen Dank vorab
Sralus -
@sralus sagte: State value to set for "javascript.0.scriptProblem.Boiler" has to be type "number" but received type "boolean"
"POWER" ist vom Typ "Zahl"? Dann ändere falsch in 0 und wahr in 1.
-
@paul53 Danke für deine Mühe !!
Es läuft teilweise schon ganz ok..
Manchmal dauert es sehr lange bis das relais schaltet.
im LOG bekomm ich jetzt diese meldung:javascript.0 2024-04-01 22:12:08.946 info script.js.common.Boiler: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 2024-04-01 22:12:08.945 info script.js.common.Boiler: subscribe: {"pattern":{"id":"mqtt.0.Data.Percent_Remain","change":"ne","q":0},"name":"script.js.common.Boiler"} javascript.0 2024-04-01 22:12:08.945 info script.js.common.Boiler: getState(id=sonoff.0.Tasmota.POWER, timerId=undefined) => {"val":false,"ack":true,"ts":1712002283354,"q":0,"from":"system.adapter.sonoff.0","user":"system.user.admin","lc":1712002283354} javascript.0 2024-04-01 22:12:08.940 info Start javascript script.js.common.Boiler javascript.0 2024-04-01 22:12:08.874 info Stop script script.js.common.Boiler javascript.0 2024-04-01 22:12:00.190 info script.js.common.Boiler: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 2024-04-01 22:12:00.171 info Start javascript script.js.common.Boiler
Ich denke mal ich habe noch einen kleinen Fehler den ich nicht erkenne...
-
@sralus Sorry --- der feheler lag in der Zahl .. 1 und 0 die hatte ich nicht als zahl gewählt...
Danke es läuft alles super
-
Hallo Paul
Danke für deine Unterstützung und hilfe eim meinem Vorhaben. !!!
Es rennt unt macht was es soll - DANKEWäre es möglich das skript um eine weitere abfrage zu erweitern ?
Und zwar möchte ich das (wie in der Grafik zu sehen ) bei einem wert der Wikleistung soll das skript das relais ausschalten.Also Wirkleistung größer als zb. 2000W relais aus. sonnst soll das skript genau so laufen wie es jetzt geht,
Das problem ist das wenn ich meine waschmaschiene oder Spühlmaschien anmache und zusätzlich das skript meinen Warmasser boiler startet - weil SOC wer ok dann habe ich 2,2 KW Boiler und bei heizfase von Spühl bzw Waschmaschine ncohmal ~2 KW.. dann habe ich +/- 4,5KW auf einer Fase.
Somit würde ich dem entgegenwirken das das skript die Wirkleistund berücksichtigt.
Vielen Dank vorab
GrußSralus
-
@sralus sagte: Wirkleistung größer als zb. 2000W relais aus.
Was sagt die Wirkleistung aus, d.h. wo wird sie gemessen?
-
@paul53 Die Wirkleistung wir von meinem wechselrichter gemessen - Active AC.
Also solange kein verbraucher wie Waschmaschien oder Spühlmachiene läuft habe ich eine grundlast von ca 150W - startet das Skipt bei x Soc wert dann schaltet es meinen Heizstab für mein Warmwasser boiler - der zieht ca 2 KW- würde ich dann die Waschmachiene starten soll das script anhand der Wirkleistung erkennen das es abschalten soll bzw sollte der wert wieder unter dem sein was ich eingestellt habe darf das skript wieder anhand des SOC wert starten..
-
@sralus sagte: Die Wirkleistung wir von meinem wechselrichter gemessen - Active AC.
Die AC-Leistung passt sich dem Verbrauch an? Dann versuche es mal so:
-
@paul53 !!! TOP - wer es kann der kann es .. Danke
Schade ist nur das dieses Solaranzeige Image die werte des wechselrichter per PHP ausließt und das immer im minuten intervall. Aber sobald der wert geschrieben wird schaltet das skript.Die Werte wann die Wirkleistung eingreifen soll muss dann einmalig auf beiden seiten im skipt eingtragen werden oder ?
Rechts im skipt ist dann quasi die routine für die Abfrage der Wirkleistung oder ?
Und die routine für die Freigabe sind werte damit die SOC routine im linken skript starten darf ?
auf jeden fall macht alles das was es soll und rennt besser als die Automatisierung im Solaranzeige Image.So habe ich es nach deiner Anweißung zusamen gestellt. (musste doch wahr & falsch setzten denn bei 0&1 kamm wieder die meldung im LOG:
You are assigning a number to the state "sonoff.0.Tasmota.POWER" which expects a boolean. Please fix your code to use a boolean or change the state type to number. This warning might become an error in future versions.
Vielen Dank nochmals ...
-
@sralus
Lass das Intervall weg! Das ist verheerend. -
@paul53
Hallo
Es läuft alles soweit klasse !!
Leider möchte ich gerne das das skript entweder noch die zusatz option PV-Power oder zeitlich eine Abschaltung macht,
Ich habe mal versucht das per Uhrzeit zu steuern aber das klappt so noch nicht, (siehe Bild)
Hättest du evtl. einen vorschlag für das skript ?Vielen Dank
Sralus
-
@sralus sagte: per Uhrzeit zu steuern aber das klappt so noch nicht
Zu welcher Uhrzeit soll was passieren?
Poste bitte den Blockly-Export in Code tags, denn ich habe das Skript längst gelöscht.
Auf jeden Fall stimmt die Reihenfolge bei Skriptstart nicht. -
@paul53
Also wenn der Boiler gegen mittags durch den PV überschuss aufgeheitzt ist dann ist er nach ca 1 -2 Stunden maximal aufgeheitzt, Alles gut so soll es sein,
Solange der SOC wert der Batterie dann aber noch im eingestellten bereich ist würde der Boiler beim Duschen ja wieder aufheizen und dann nicht den PV überschuss nutzen sondern meine Batterie (speicher) nutzen.Somit müsste ich zu der Schaltung entweder noch eine PV kontrolle einbauen. Also wenn PV unter 50W dann auch aus. Das wäre natürlich super das so schalten zu können.
Also SOC + AC leistung und PV leistung,Oder alternativ einfach um 17:00 Uhr soll der Boiler nicht mehr heizen,
So habe ich mir das in etwa vorgestellt.
var freigabe, akator, wirkleistung; freigabe = akator ? wirkleistung < 200 : wirkleistung < 2800; akator = getState('sonoff.1.Tasmota1.POWER').val; wirkleistung = getState('mqtt.0.solaranzeige.3.ac_wirkleistung').val; on({ id: 'mqtt.0.Data.Percent_Remain' /* jkbms/Data/Percent_Remain */, change: 'any' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; if (freigabe) { if ((obj.state ? obj.state.val : '') < 70) { akator = false; } else if ((obj.state ? obj.state.val : '') > 71) { akator = true; } if (akator != getState('sonoff.1.Tasmota1.POWER').val) { setState('sonoff.1.Tasmota1.POWER' /* Tasmota1 POWER */, akator); } } }); on({ id: 'mqtt.0.solaranzeige.3.ac_wirkleistung' /* solaranzeige/3/ac_wirkleistung */, change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; if ((obj.state ? obj.state.val : '') < 200) { freigabe = 1; } else if ((obj.state ? obj.state.val : '') > 2800) { freigabe = 0; if (getState('sonoff.1.Tasmota1.POWER').val) { setState('sonoff.1.Tasmota1.POWER' /* Tasmota1 POWER */, false); } } }); //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyc21jJTJCYi5WTGFfVWlJTlVLdE5ITSUyMiUzRWZyZWlnYWJlJTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyJTI1eC5odCU2MEd2ZGppX2VKSGxaaTMlN0MlMjIlM0Vha2F0b3IlM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjJPaW9RaEZXeWw0ciU0MCU3RCUyQ1NYY0ZaJTdDJTIyJTNFd2lya2xlaXN0dW5nJTNDJTJGdmFyaWFibGUlM0UlM0MlMkZ2YXJpYWJsZXMlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjI3ciU1RG00SHd+JTJCQnElNUJGZyUzRlMlMjVzN2UlMjIlMjB4JTNEJTIyLTMxMzclMjIlMjB5JTNEJTIyLTIxMzclMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnNtYyUyQmIuVkxhX1VpSU5VS3ROSE0lMjIlM0VmcmVpZ2FiZSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY190ZXJuYXJ5JTIyJTIwaWQlM0QlMjIuJTNBaDZvSm1COG94V002JTJDNlBDenAlMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMjBRdGIlMkIlMjNRJTYwayUzRiU1RUYlNjB+eGVxeDYlMkIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiUyNXguaHQlNjBHdmRqaV9lSkhsWmkzJTdDJTIyJTNFYWthdG9yJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEhFTiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMiUyNUF6JTNGJTJDJTNCUiUyNSU3QiU2MEpaJTVEayU1QnYlMjQyJTI0aiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFTFQlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJzJTdDcyUyNGU0TiU3QlJBcCU0MGZ0S2UyQ00lNDAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMk9pb1FoRld5bDRyJTQwJTdEJTJDU1hjRlolN0MlMjIlM0V3aXJrbGVpc3R1bmclM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMkhYJTJDNSE5JTNCeTFsajMlMkJsNyUzQiU2MDZmVyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTIwMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJFTFNFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyJTdDYSUzRnNYIUxqTG91LkdxYSUyRjEhM0wlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUxUJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyT2lJKSU3QiU3RHZFWGRuJTNGVkxUWiU0MFp3SyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyT2lvUWhGV3lsNHIlNDAlN0QlMkNTWGNGWiU3QyUyMiUzRXdpcmtsZWlzdHVuZyUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIya0JzJTdDNE1EYjklM0QlNUUlM0ElN0JkcTVrKVhwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMjgwMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMiUyNSU1RS5ER2FWbnNxJTJGIVdjXyU3QnAtSU4lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiUyNXguaHQlNjBHdmRqaV9lSkhsWmkzJTdDJTIyJTNFYWthdG9yJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyJTdDU1pJOS4lNjBvRl8oSTV4JTJDS2h3VzclMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0Vzb25vZmYuMS5UYXNtb3RhMS5QT1dFUiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJaSlhpLSU3QkclM0FQJTNGN2MlMjQlM0IlN0J1JTQwdyUyQ2clMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMk9pb1FoRld5bDRyJTQwJTdEJTJDU1hjRlolN0MlMjIlM0V3aXJrbGVpc3R1bmclM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjJUX0QlNjBQclI1NGtTX2VvMDA0VGkhJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFbXF0dC4wLnNvbGFyYW56ZWlnZS4zLmFjX3dpcmtsZWlzdHVuZyUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbiUyMiUyMGlkJTNEJTIyLU1rX21iLWVzIWNxJTNETVZYZyUyQyU1QkglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VtcXR0LjAuRGF0YS5QZXJjZW50X1JlbWFpbiUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09ORElUSU9OJTIyJTNFYW55JTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBQ0tfQ09ORElUSU9OJTIyJTNFJTNDJTJGZmllbGQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMkNzJTVEZTAlNUJhdSUyQyUyNDUwOC1SUmF+JTJDdSUyMiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMmIxX356JTVCJTQwJTNGKH5aayUyNUdzYWQlMkIlMkI0JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJzbWMlMkJiLlZMYV9VaUlOVUt0TkhNJTIyJTNFZnJlaWdhYmUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8wJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMiUyQ2MlN0RTYX4lN0R5RCU1RSU3RCU1RUs5eWdZJTdDM1olMjIlM0UlM0NtdXRhdGlvbiUyMGVsc2VpZiUzRCUyMjElMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMnBxJTJGJTNEWCUyQkk3SEYlM0YlNjBRRTFnJTVEUFV4JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VMVCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm9uX3NvdXJjZSUyMiUyMGlkJTNEJTIydlpaLU0pVFolMjVfclglMkJXfnRnYzZsJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXN0YXRlLnZhbCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyJTI1JTJGKCU1RW9tbWlJaiUyRjQ2RyUyNCUyRnclN0N5cSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTcwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJPZSUzRCh+QUMyJTIzJTdDajglNUR+ZkQ0JTJCJTIzJTNGJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlMjV4Lmh0JTYwR3ZkamlfZUpIbFppMyU3QyUyMiUzRWFrYXRvciUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjJWQ1MlN0R2bmYqMVBldyU1RURZdHNyJTNGLSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYxJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyJTYwJTNCQSUyNFczXzFMISpMJTVENG1pU3RpUSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFR1QlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9zb3VyY2UlMjIlMjBpZCUzRCUyMl9lN3M2MU5xMEl0T0V1JTVCcipEb3klMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFc3RhdGUudmFsJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjIlMkZid0QyJTdDek10JTdEbTQlNDApJTI0a2MlMkNhSiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTcxJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJNJTVFTyU0MFNkJTJDZHVFc2pJUVYlM0ZlckxuJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlMjV4Lmh0JTYwR3ZkamlfZUpIbFppMyU3QyUyMiUzRWFrYXRvciUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjI1SG91ZW1JQmk0OFVERSUyRiU3RDFSJTdDJTVFJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyc0RQJTJDdHcyVEt+MDN0a3kya0IlMjM0JTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyZihocXJzalklNDB+eHE3VjcuUmJVJTQwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VORVElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJnN0ElM0JFNihHJTNBJTYwam0lN0Nua0tNJTJCUzklMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiUyNXguaHQlNjBHdmRqaV9lSkhsWmkzJTdDJTIyJTNFYWthdG9yJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyeUZKa2UlM0QlM0I5dmQuRiU3QkJ0YUZ4cjElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0Vzb25vZmYuMS5UYXNtb3RhMS5QT1dFUiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8wJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbCUyMiUyMGlkJTNEJTIydWgzOGRVSTglMkM0OEwoWihsaVVnUCUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRXNvbm9mZi4xLlRhc21vdGExLlBPV0VSJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIydGdib04pJTNCJTVCU2NMZ1Ftb0RoOHgzJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlMjV4Lmh0JTYwR3ZkamlfZUpIbFppMyU3QyUyMiUzRWFrYXRvciUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb24lMjIlMjBpZCUzRCUyMmVVT0FPSXMpSyU1RVZNJTYwfiUyRnltU3JYJTIyJTIweCUzRCUyMi0yMzM3JTIyJTIweSUzRCUyMi0yMDM3JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFbXF0dC4wLnNvbGFyYW56ZWlnZS4zLmFjX3dpcmtsZWlzdHVuZyUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09ORElUSU9OJTIyJTNFbmUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFDS19DT05ESVRJT04lMjIlM0UlM0MlMkZmaWVsZCUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyUSUyQiUzRGclNUVSJTVCY1ElMkYzJTI1JTI1MyUyMyU0MDUlMkN+JTJCJTIyJTNFJTNDbXV0YXRpb24lMjBlbHNlaWYlM0QlMjIxJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjI3JTIzSjUtfiUyNU0pKWIlMjVoMURCbXEhJTNBJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VMVCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm9uX3NvdXJjZSUyMiUyMGlkJTNEJTIyJTNCMyUyNFUwUSU3QyUyQnhvZ1JxJTI1YlVlT2ppJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXN0YXRlLnZhbCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyciUzRC4lM0Rta0pBJTI0RU8lNjBYOThkSFhKJTQwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMjAwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjI5KFclMkMlN0RaY1FRSEk4ZGItdWQpQnElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnNtYyUyQmIuVkxhX1VpSU5VS3ROSE0lMjIlM0VmcmVpZ2FiZSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyJTI1NiU3Q3hjdEVqcW0lM0FqRXQlNjAlM0RDSXUlM0YlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjIlMjVHTUJqZE8lM0ZYZDRodU8yLm54ZDglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUdUJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fc291cmNlJTIyJTIwaWQlM0QlMjJHJTI0ci1VVEdweC0lNjA4JTdCU2pfdCUyNSklMkIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFc3RhdGUudmFsJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjIlMkIoJTJGJTNCQlMlNUIlMkMlMkJlU28uTnU2SW1wJTJCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMjgwMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8xJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIySSFJKiUyQmslN0RYNEQlNjAlM0EweUdqRlRBWiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyc21jJTJCYi5WTGFfVWlJTlVLdE5ITSUyMiUzRWZyZWlnYWJlJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjIlNUJHMGclNjAoLmRkJTI0ak5qcSUyNUwlNjB1alolMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjJ2YkpQJTI0KWMlMjR0YnFoJTNBbEklN0Q1UFJwJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjJqUUYhcHRvJTQwWmE2LlFkakwlM0JRKmIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0Vzb25vZmYuMS5UYXNtb3RhMS5QT1dFUiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sJTIyJTIwaWQlM0QlMjJpZVF4Ni1nazZCJTQwRGgzRiU3QmN6NSUyRiUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRXNvbm9mZi4xLlRhc21vdGExLlBPV0VSJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyQiUzRGslMjUlM0Z1N0tEIWVpJTJDQ1IlM0ZVJTI1YTAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnhtbCUzRQ==
Vielen Dank
Gruß
Sralus -
@sralus
Du hast nicht den Blockly-Export (XML) gepostet. Möchtest du in Javascript weiter programmieren? -
@paul53 Sorry
hoffe das ist nun richtig ..