@1topf
Wenn du den Drucker per Steckdose ein und ausschaltest, dann kannst du auch einfach die Instanz per script ein und ausschalten. Dann meckert das script auch nicht, das es keine Verbindung hat....
NEWS
Latest posts made by Vetinari77
-
RE: Adapter Klipper-Moonraker
-
RE: Attribute aus object vergleichen
@haus-automatisierung said in Attribute aus object vergleichen:
@vetinari77 sagte in Attribute aus object vergleichen:
Wenn ich das hier mache:
Kommt dieses dabei raus:
Logisch, Du setzt ja auch einen String auf den Wert und kein weiteres Objekt mit der Eigenschaft
value
. So:PS:
setMode_json
ist übrigens ein ziemlich blöder Name für die Variable. Ist ja kein JSON mehr, sondern ein Objekt.Wald... Bäume... Manchmal ist man ein wenig dumm... Danke dir dafür. Natürlich kann das von mir so nicht funktionieren.
Edit: BTW Sehr tolle Arbeit von dir. Danke dafür.
-
RE: Attribute aus object vergleichen
@paul53 Damit ist alles in Ordnung. Wobei der MQTT Datenpunkt laut Beschreibung tatsächlich RW sein sollte. Das konnte ich bisher allerdings noch nicht testen da ich gerade keinen direkten Zugriff auf die Heizung hab.
-
RE: Attribute aus object vergleichen
@paul53 So, ich hab ein wenig Zeit zum Testen gehabt und gehe jetzt step by step vor.
Wenn ich folgendes mache:
Fügt er den Wert folgendermaßen hinten an:
Warum auch immer. Bei einer If abfrage (wie weiter oben zu sehen) liest er ja richtig.
Wenn ich das hier mache:
Kommt dieses dabei raus:
Edit: Ich schreibe die Werte noch nicht in das MQTT Jason. Ich fürchte, dass das in beiden Fällen nicht zu dem Ergebniss führt, welches ich gerne hätte.
-
RE: Attribute aus object vergleichen
@paul53 Das war die Lösung. Danke dafür. Jetzt mach ich mal bei Problem 2 weiter. Aufgefallen ist mir, das is das Object wieder zurück in einJson umwandeln muss. Weiteres später.
-
Attribute aus object vergleichen
Hallo
Ich versuche krampfhaft den Inhalt eines Objects in Blockly zu vergleichen. folgendes Json Object eines Mqtt Wertes ist gegeben:
{ "hcmode": {"value": "auto"}, "flowtempdesired": {"value": 0.0}, "hwctempdesired": {"value": null}, "hwcflowtempdesired": {"value": null}, "disablehc": {"value": 1}, "disablehwctapping": {"value": 0}, "disablehwcload": {"value": 0}, "remoteControlHcPump": {"value": 0}, "releaseBackup": {"value": 0}, "releaseCooling": {"value": 0}}
Aus diesem versuche ich mit Hilfe eines Blockly scripts den Wert disablehc zu vergleichen:
Der Vergleich liefert immer false, Wenn ich das Attribut von setmode_json im Debug anzeigen lasse dann kommt da { value: 1} raus. Wenn ich versuche diesen in Text um zu wandeln dann kommt Obj:Obj raus. Was mache ich falsch?
Im nächsten schritt würde ich den wert { value: 1}in { value: 0} ändern und zurück in den Mqtt wert schreiben.
Auch das funktioniert irgendwie nicht. Was mache ich falsch, bzw., washabe ich an der Funktionsweise falsch verstanden? -
RE: Über Mqtt empfangenes Bild in Datei speichern
Danke nochmal. Scheint tatsächlich kein jpg oder anderes Bildformat zu sein. Als ausgabe kommt lediglich "data". Ich glaube ich versuche mal auf einem anderen weg die Bilder zu holen. Eventuell kann ich mir vom Server den Pfad schicken lassen und das Bld dann per SFTP holen. Trotzdem noch einmal vielen lieben Dank für die Unterstützung.
-
RE: Über Mqtt empfangenes Bild in Datei speichern
@haus-automatisierung said in Über Mqtt empfangenes Bild in Datei speichern:
const fs = require('node:fs');
Danke, das ging schnell (und unerwartet einfach). Villeicht habe ich deswegen nichts finden können bei meiner Suche. 1000 Dank. Leider kann ich die Datei nicht öffnen (scheint irgendwie fehlerhaft zu sein). Ich versuche mal herauszubekommen warum das so ist.
-
Über Mqtt empfangenes Bild in Datei speichern
Hallo
Ich empfange über MQTT eine Bilddatei. Diese möchte ich nun wieder als solche speichern. Hierzu muss ich die Rohdaten als Bytearray vom Broker direckt wieder in die Datei schreiben. Ich habe bisher folgendes schon lauffähig:
const mqtt = require('mqtt') const url = 'mqtt://xxx.yyy.zzz.www:aaaa' const options = { // Clean session clean: true, connectTimeout: 4000, // Authentication // clientId: 'emqx_test', username: 'name', password: 'passwort', } const client = mqtt.connect(url, options) var dest_path = 'zielpfad' var kamera = '123456' client.on('connect', function () { console.log('Connected') // Subscribe to a topic client.subscribe('top1' + kamera + '/picture_file', function (err) { if (!err) { // Publish a message to a topic // client.publish('test', 'Hello mqtt') // Mögliche Testnachricht an MQQT senden um verbindung zu bestätigen und im IO Broker zu verarbeiten } }) }) // Receive messages client.on('message', function (topic, message) { // message is Buffer console.log(message.toString()) client.end() }) code_text
Wichtig ist dieser Bereich:
client.on('message', function (topic, message) { // message is Buffer console.log(message.toString()) client.end() code_text
In VB würde ich das mit einem Streamwriter machen aber ich habe leider keine Ahnung wie ich das in Javascript machen kann, da ich dort absoluter neuling bin. Kann mir jemand weiterhelfen?