Ich habe nun alles ein bisschen durchgetestet.
Die Werte wie von dir En3rGy angegeben kann ich entziffern.
Jedoch das mit der Zeit funktioniert so nicht.
Wenn ich es so probiere wie erklärt ergibt das keinen Sinn.
Ich versuche es weiter.
Trotzdem vielen Dank.
Ankündigung
Einklappen
Keine Ankündigung bisher.
JSON Wert entschlüsseln
Einklappen
X
-
Prinzipiell kann der HS das schon. Ich bezweifle, dass es einen 1:1 Baustein dafür gibt. Du musst halt mal im DL Bereich suchen. Da gibt es auf jeden Fall einen Json Baustein. Sicherlich gibt es auch Bausteine mit denen du die Bytes neu anordnen kannst (Text kopieren und zusammensetzen. Vermutlich gibt‘s auch Byte zu Int Bausteine mit denen du dann an die Zahl kommst usw...Zitat von danit Beitrag anzeigenWie kann ich so etwas auf de HS umsetzen? Kann der das
Einen Kommentar schreiben:
-
Total duration waterflow: 10010 = x27 x1A -> „d9“ als big endian
total amount usage: 32444 = x7e Xbox -> „dd“ als big endian
Wenn’s passt, einfach im Netz nach bin to hex suchen und nach Hex übertragen lassen. Dann die Bytes vertauschen (little zu big endian) und suchen.
was übrig bleibt müssen Zeitangaben sein. Die nach dem Schema ein paar Posts früher übersetzen und zuordnen.
Müsste klappen.
Einen Kommentar schreiben:
-
Vielen Dank für die ganzen Ideen.
Ich werde diese alle überprüfen.
Hier jetzt einmal das JSON und die aktuelle Tabelle dazu.
Wie schon erwähnt ist der Wert "fa" die Seriennummer.
serial number sensor last succ. thermal desinfection [dd.mm.yyyy hh:mm] Last usage [dd.mm.yyyy hh:mm] Last hygiene flush [dd.mm.yyyy hh:mm] Total duration water flow [m] Total amount usage flush volume [l] operation hours [h] update time sensor [dd.mm.yyyy hh:mm] 3906167 04.01.2021 11:36 10637 34027 127644 5664 18.01.2021 07:36 Code:{ "correlationId": "", "body": { "bleMac": "de:6a:aa:67:71:ea", "name": "Dusche D01 Ki", "type": 45, "results": { "11": "0313ff", "12": "2d0022", "13": "000000", "14": "0f0200", "15": "00ffff", "22": "01ffff", "26": "02ffff", "27": "02ffff", "32": "0103ff", "34": "03ffff", "1d": "780200", "dd": "eb8400", "de": "9cf201", "df": "1f1600", "e0": "4b0100", "e1": "ffffff", "d9": "8d2900", "e3": "ffffff", "a0": "000080", "f9": "0c00ff", "fd": "241314", "fa": "3b9a77" } } }
serial number sensor last succ. thermal desinfection [dd.mm.yyyy hh:mm] Last usage [dd.mm.yyyy hh:mm] Last hygiene flush [dd.mm.yyyy hh:mm] Total duration water flow [m] Total amount usage flush volume [l] operation hours [h] update time sensor [dd.mm.yyyy hh:mm] 3906167 18.01.2021 07:38 10637 34029 127644 5664 18.01.2021 07:38 Code:{ "correlationId": "", "body": { "bleMac": "de:6a:aa:67:71:ea", "name": "Dusche D01 Ki", "type": 45, "results": { "11": "0313ff", "12": "2d0000", "13": "000000", "14": "0f0200", "15": "00ffff", "22": "01ffff", "26": "02ffff", "27": "02ffff", "32": "0103ff", "34": "03ffff", "1d": "7f0200", "dd": "ed8400", "de": "9cf201", "df": "201600", "e0": "000000", "e1": "ffffff", "d9": "8d2900", "e3": "ffffff", "a0": "000080", "f9": "0c00ff", "fd": "241314", "fa": "3b9a77" } } }
serial number sensor last succ. thermal desinfection [dd.mm.yyyy hh:mm] Last usage [dd.mm.yyyy hh:mm] Last hygiene flush [dd.mm.yyyy hh:mm] Total duration water flow [m] Total amount usage flush volume [l] operation hours [h] update time sensor [dd.mm.yyyy hh:mm] 3906149 04.01.2021 13:36 10010 32442 120120 5639 18.01.2021 07:36 Code:{ "correlationId": "", "body": { "bleMac": "dd:5f:42:5f:a4:d0", "name": "Dusche D02 Ki", "type": 45, "results": { "11": "0313ff", "12": "2d0022", "13": "000000", "14": "0f0200", "15": "00ffff", "22": "01ffff", "26": "02ffff", "27": "02ffff", "32": "0103ff", "34": "03ffff", "1d": "7d0200", "dd": "ba7e00", "de": "38d501", "df": "071600", "e0": "4a0100", "e1": "ffffff", "d9": "1a2700", "e3": "ffffff", "a0": "000080", "f9": "0c00ff", "fd": "241314", "fa": "3b9a65" } } }
serial number sensor last succ. thermal desinfection [dd.mm.yyyy hh:mm] Last usage [dd.mm.yyyy hh:mm] Last hygiene flush [dd.mm.yyyy hh:mm] Total duration water flow [m] Total amount usage flush volume [l] operation hours [h] update time sensor [dd.mm.yyyy hh:mm] 3906149 18.01.2021 07:38 10010 32444 120120 5639 18.01.2021 07:38 Code:{ "correlationId": "", "body": { "bleMac": "dd:5f:42:5f:a4:d0", "name": "Dusche D02 Ki", "type": 45, "results": { "11": "0313ff", "12": "2d0000", "13": "000000", "14": "0f0200", "15": "00ffff", "22": "01ffff", "26": "02ffff", "27": "02ffff", "32": "0103ff", "34": "03ffff", "1d": "830200", "dd": "bc7e00", "de": "38d501", "df": "081600", "e0": "010000", "e1": "ffffff", "d9": "1a2700", "e3": "ffffff", "a0": "000080", "f9": "0c00ff", "fd": "241314", "fa": "3b9a65" } } }
Ich hoffe irgendjemand versteht das System.
Ich habe nur die Seriennummer aufschlüsseln können.
Vielen Dank.
Einen Kommentar schreiben:
-
Schöne Knobelaufgabe.
c91500f50000 ist CDAB => 16107797 und mit zwei angehängten 00en: Saturday, 16-Jan-21 06:48:20 UTC in RFC 2822
Passt das?
Hilft das hier? https://www.scadacore.com/tools/prog...hex-converter/
Einen Kommentar schreiben:
-
Ich kenne nun nicht die Möglichkeiten vom Homeserver, aber spontan sehe ich zwei Ansätze:Zitat von danit Beitrag anzeigenAber wenn „ff“ nur als Platzhalter genutzt wird, wie kann man dies abfangen?
Jeder normale HEX to DEC Converter wird ja dies als HEX Zahl interpretieren oder nicht?- Nur die ersten zwei Zeichen nutzen Diese beiden Zeichen könntest Du dann in den Dezimalwert konvertieren.
- Den gesamten Hex-String in den Dezimalwert konvertieren. anschließend durch 2^16=65536 dividieren (oder Rechts-Shift um 16Bit)
3 Byte fühlt sich irgendwie ein bisschen exotisch an.
Einen Kommentar schreiben:
-
Weiterer Rate-Tipp:
- evtl. Bigendian?
- in einem andern Protokoll, das ich kenne, werden immer 32 Bit übertragen, allerdings gibt es auch kleinere Datentypen. Die ungenutzten von z.B. 16 auf 32 Bit werden mit ff aufgefüllt.
Einen Kommentar schreiben:
-
Ja die Daten kommen von einem Bluetooth Gateway.
Unterdessen habe ich herausgefunden das der Wert „fa“ die Seriennummer ist.
Einen Kommentar schreiben:
-
Leere Daten können Platzhalter sein (z.B: damit auch 1000000000 Stunden Betriebszeit anzeigen kann, ist das höherwertige Bytes der Betriebsstunden die ersten 2^8 Stunden ffffff).Oder es gibt Modelle, die können keine Uhrzeit sondern nur ein Datum ausgeben. Die aufgedruckte Seriennummer des Geräts bitte auch mitsenden.
Einen Kommentar schreiben:
-
Ok vielen Dank. Werde ich morgen einmal machen.
Ich werde morgen mal aktuelle Werte mit einer aktuellen Tabelle posten.
Aber ich verstehe noch nicht, warum es Daten mit „ffffff“ hat.
Diese Daten sind höchstwahrscheinglich leere Werte.
Wiso gibt es so etwas? Was für eine Codierung ist das?
Einen Kommentar schreiben:
-
Der oben gepostete Datensatz ist vollständig? Also alle von dir in der Tabelle gezeigten Werte müssten da drin stehen? JSON kennt keine fixe Reihenfolge. Daher müssen die 1. Zahlen der "Schlüssel" sein. Hier könnte also z.B. 11 für Minuten von "letzte thermische Desinfektion" stehen. Oder 11+12: Timestamp letzte Nutzung o.ä. Du müsstest sicherstellen, dass diese Gerät die richtige Uhrzeit und Datum hat. Dann mal thermische Desinfektion und Nutzung, Hygienespülung, etc. immer mit einigen Minuten Versatz auslösen und dir das Datum merken. Wenn du das getan hast, die dir bekannten Daten mal mit einem neuen Datensatz hier posten.
Einen Kommentar schreiben:


Einen Kommentar schreiben: