Über die Oberfläche von Admin installiert: 1.6.6
NEWS
Latest posts made by Fussel
-
RE: ICal Adapter nach letztem Update
-
RE: VIS Aktualisierungs-Frust
Was sehr gut funktioniert, ist die Vis.App auf Android zusammen mit der App "Motion detector". Damit wird zwar der Bildschirm dunkel, aber sobald sich was vor dem Tablet bewegt, ist die Anzeige wieder da (und aktuell).
Man darf halt das Tablet nicht in den Deep-Standby gehen lassen (meins hängt immer am Strom).
-
ICal Adapter nach letztem Update
Kann es sein, dass beim letzten Update des iCal Adapters etwas schiefgelaufen ist?
Ich habe 3 Events definiert (Mülltermine), von denen gestern einer true war. Trotzdem stand eevents.count auf 0, so dass mir mein "Müllwidget" nicht angezeigt wurde. Liegt der Fehler beim Adapter oder bei mir?
-
RE: [gelöst]Serielle Schnittstelle auslesen Heizölfüllstand Leveljet
Das wars! Der Tipp mit script.enabled war der goldene Hinweis.
Nach dem Einlesen der Daten setze ich im script selber .enabled auf 'false', gestartet wird einmal täglich über einen Blockly Zeitplan.
Danke schön!
So sieht das ganze derzeit in VIS aus:
-
RE: [gelöst]Serielle Schnittstelle auslesen Heizölfüllstand Leveljet
OK, das war dann wohl ein Verständnisfehler von mir, ich hatte gedacht mit modbus kann man generell serielle Schnittstellen auslesen.
Mit dem folgenden Script funktioniert es auch, die Datenpunkte werden geschrieben.
! createState('Leveljet.Daten.Raw');
! createState('Leveljet.Daten.Distance');
! createState('Leveljet.Daten.Fillheight');
! createState('Leveljet.Daten.Volume');
! createState('Leveljet.Daten.Percent');
! createState('Leveljet.Daten.Status');
! // To use theByteLength
parser:
! const SerialPort = require('serialport');
! const ByteLength = SerialPort.parsers.ByteLength;
! const port = new SerialPort("/dev/ttyUSB0", {
! baudRate: 19200,
! dataBits : 8,
! parity : 'none',
! stopBits: 1
! // flowControl : false
! }, function (err) {
! if (err) {
! return console.log('Error1: ', err.message);
! }
! const parser = port.pipe(new ByteLength({ length: 12 }));
! parser.on('data', function (data) {
! console.log('Data received: ' + data.toString('hex'));
! //Rohdaten speichern
! var daten = data.toString('hex');
! setState('Leveljet.Daten.Raw', daten, true);
! //Distanz Lesekopf
! var distanz = parseInt(daten.substr(6,2) + daten.substr(4,2),16);
! setState('Leveljet.Daten.Distance',distanz,true);
! //Füllhöhe
! var fheight = parseInt(daten.substr(10,2) + daten.substr(8,2),16);
! setState('Leveljet.Daten.Fillheight',fheight,true);
! //Füllmenge, muss mit 10 multiplziert werden
! var fvol =10 * (parseInt(daten.substr(14,2) + daten.substr(12,2),16));
! setState('Leveljet.Daten.Volume',fvol,true);
! //Prozenzangabe Füllmenge, nur 1 Byte
! var pct = parseInt(daten.substr(16,2),16);
! setState('Leveljet.Daten.Percent',pct,true);
! //Status von 0-3 schreiben, zur optischen Anzeige in VIS
! var fstate = 0;
! if (pct > 40) {fstate = 3;} else
! if (pct > 25) {fstate = 2;} else
! if (pct > 10) {fstate = 1;} else
! fstate = 0;
! setState('Leveljet.Daten.Status',fstate,true);
! //Wenn ich hier nicht den Port schliesse, schreibt er jede Sekunde Datenpunkte, unnötig….
! port.close();
! return;
! });
! // Flush input
! port.flush();
! // send Data
! // port.close();
! });
! port.on('open', function() {
! console.log('Connected');
! });
! port.on('error', function(err) {
! console.log('Error2: ', err.message);
! // port.close();
! });
! // close port if the script stopped (to be able to open it again)
! onStop(function (callback) {
! if (port && port.isOpen) {
! port.close();
! console.log('port closed');
! }
! });Jetzt habe ich nur noch das Problem, dass, wenn ich den Port nach dem Einlesen nicht schließe, jede Sekunde Datenpunkte geschrieben werden, was völlig unnötig ist. Einmal am Tag würde reichen. Ein schedule an den Anfang zu stellen, hat nicht funktioniert, aber wahrscheinlich habe ich nur was falsch gemacht.
-
RE: [gelöst]Serielle Schnittstelle auslesen Heizölfüllstand Leveljet
Die Kommunikationseinstellungen sind 19200,N,8,1, so wie hier www.projet.de/Software/Leveljet_seriell.pdf beschrieben. Dort steht auch die Bedeutung der 12 Bytes.
Das script lief nicht über modbus, sondern über javascript, dieses hier:
! var SerialPort = require("serialport");
! var port = new SerialPort("/dev/ttyUSB0", {
! baudRate: 19200,
! xon: true,
! xoff: true,
! //flowControl: false
! //parser: SerialPort.parsers.byteDelimiter([2,4])
! platformOptions: {vmin: 0, vtime: 10, hupcl: false}
! },
! function (err) {
! if (err) {
! return console.log('Error: ', err.message);
! }
! // Flush input
! port.flush();
! });
! port.on('data', function (data) {
! console.log('Data: ' + data.toString('hex'));
! });
! port.on('open', function() {
! console.log('Connected');
! });
! port.on('error', function(err) {
! console.log('Error: ', err.message);
! });
! // close port if the script stopped (to be able to open it again)
! onStop(function (callback) {
! if (port && port.isOpen()) {
! port.close();
! console.log('port closed');
! }
! callback();
! });Mit dem Script hatte ich fortlaufend diese Werte auf der Schnittstelle:
javascript.0 script.js.common.Leveljet: Data: 00105d00300092002200da93
also genau die 12 Bytes:
0010 Gerätekennung
5d00 Distanz 0x005d=93
3000 Füllhöhe 0x0030=48
9200 Liter 0x0092=146
22 Prozent 0x22=34
00
da93
was den Werten auf der Anzeige entspricht.
modbus brint auch bei nur einem Wert im Eingangsregister nichts.
Wenn ich wüsste, wie man einzelne Bytes aus dem Datenblock rausnimmt und umrechnet und dann in einen Datenpunkt schreibt, würde ich das Ganze auch mit einem Script machen können (ohne modbus).
-
RE: [gelöst]Serielle Schnittstelle auslesen Heizölfüllstand Leveljet
Hab ich probiert, immer noch "Wrong CRC for frame" und keine Werte.
-
[gelöst]Serielle Schnittstelle auslesen Heizölfüllstand Leveljet
Vielleicht kann mir mal jemand auf die Sprünge helfen. Ich möchte über die serielle Schnittstelle ttyUSB0 die Werte meiner Heizöl-Füllstandsanzeige Leveljet auslesen. Über ein Javascript, was ich mir von hier irgendwo kopiert habe, konnte ich feststellen, dass die Schnittstelle die richtigen Daten liefert (es sind nur 12 Byte, die jede Sekunde ausgegeben werden).
Das script habe ich wieder gelöscht (war vielleicht ein Fehler), und versuche nun, über modbus das Ganze zu machen. Allerdings weiß ich nun gar nicht, wo ich was eintragen soll (K.A., warum das Bild hier dreimal kommt).
Meine Vermutung war, im Tab Eingangsregister die gelieferten Werte einzutragen:Das führt allerdings zu keinem Ergebnis, sondern:
Die Dokumentation zum modBus ist ja sehr rudimentär, ich hoffe , hier kann mir jemand weiterhelfen.
Oder wäre es vielleicht doch einfacher, das Ganze per Script zu machen?
Vor ein paar Wochen habe ich hier ein Script gesehen, wo man einfach ein paar seriell gelieferte Werte auswerten und in Datenpunkte schreiben kann, leider habe ich die Seite nicht gespeichert und jetzt finde ich es natürlich nicht mehr…..
-
Auch mein tankerkoenig aktualisiert sich nicht
Mein Tankerkoenig bringt mir nur nach dem Start oder dem Neuladen des Adapters Werte. Ich habe die Instanz schon gelöscht und neu installiert, bringt nichts. Wie man im Logauszug sieht, startet er zwar alle 5 Minuten, aber tut nichts mehr.
Gibt's da schon eine Lösung ?
Danke
ankerkoenig.0 2018-03-01 09:35:02.572 info starting. Version 1.0.4 in /opt/iobroker/node_modules/iobroker.tankerkoenig, node: v6.12.0 tankerkoenig.0 2018-03-01 09:35:02.515 info States connected to redis: 127.0.0.1:6379 tankerkoenig.0 2018-03-01 09:35:02.503 debug statesDB connected tankerkoenig.0 2018-03-01 09:35:02.454 debug objectDB connected tankerkoenig.0 2018-03-01 09:30:02.813 debug API Key Länge: 36 Zeichen tankerkoenig.0 2018-03-01 09:30:02.812 debug Option is true tankerkoenig.0 2018-03-01 09:30:02.811 debug initializing objects tankerkoenig.0 2018-03-01 09:30:02.800 info starting. Version 1.0.4 in /opt/iobroker/node_modules/iobroker.tankerkoenig, node: v6.12.0 tankerkoenig.0 2018-03-01 09:30:02.741 info States connected to redis: 127.0.0.1:6379 tankerkoenig.0 2018-03-01 09:30:02.728 debug statesDB connected tankerkoenig.0 2018-03-01 09:30:02.673 debug objectDB connected tankerkoenig.0 2018-03-01 09:25:02.596 debug API Key Länge: 36 Zeichen tankerkoenig.0 2018-03-01 09:25:02.595 debug Option is true tankerkoenig.0 2018-03-01 09:25:02.594 debug initializing objects tankerkoenig.0 2018-03-01 09:25:02.585 info starting. Version 1.0.4 in /opt/iobroker/node_modules/iobroker.tankerkoenig, node: v6.12.0 tankerkoenig.0 2018-03-01 09:25:02.530 info States connected to redis: 127.0.0.1:6379 tankerkoenig.0 2018-03-01 09:25:02.518 debug statesDB connected tankerkoenig.0 2018-03-01 09:25:02.469 debug objectDB connected tankerkoenig.0 2018-03-01 09:20:02.696 debug API Key Länge: 36 Zeichen tankerkoenig.0 2018-03-01 09:20:02.696 debug Option is true tankerkoenig.0 2018-03-01 09:20:02.694 debug initializing objects tankerkoenig.0 2018-03-01 09:20:02.685 info starting. Version 1.0.4 in /opt/iobroker/node_modules/iobroker.tankerkoenig, node: v6.12.0 tankerkoenig.0 2018-03-01 09:20:02.628 info States connected to redis: 127.0.0.1:6379 tankerkoenig.0 2018-03-01 09:20:02.616 debug statesDB connected tankerkoenig.0 2018-03-01 09:20:02.567 debug objectDB connected tankerkoenig.0 2018-03-01 09:15:52.495 info objects written tankerkoenig.0 2018-03-01 09:15:52.491 debug Billigster Diesel: 0\. Tankstelle BayWa, Preis: 1.169 tankerkoenig.0 2018-03-01 09:15:52.489 debug Billigster E10: 0\. Tankstelle BayWa, Preis: 1.299 tankerkoenig.0 2018-03-01 09:15:52.483 debug Billigster E5: 0\. Tankstelle BayWa, Preis: 1.319 tankerkoenig.0 2018-03-01 09:15:52.467 debug Diesel: Station 2 teurer als bisher billigste Station 0 tankerkoenig.0 2018-03-01 09:15:52.466 debug Diesel-Preis-Feld 2 gefüllt tankerkoenig.0 2018-03-01 09:15:52.460 debug E10: Station 2 teurer als bisher billigste Station 0 tankerkoenig.0 2018-03-01 09:15:52.460 debug E10-Preis-Feld 2 gefüllt tankerkoenig.0 2018-03-01 09:15:52.458 debug E5: Station 2 teurer als bisher billigste Station 0 tankerkoenig.0 2018-03-01 09:15:52.457 debug E5-Preis-Feld 2 gefüllt tankerkoenig.0 2018-03-01 09:15:52.453 debug Station 1011da04-6171-4241-8796-00eabfea951d Esso wird bearbeitet ... tankerkoenig.0 2018-03-01 09:15:52.446 debug Diesel: Station 1 teurer als bisher billigste Station 0 tankerkoenig.0 2018-03-01 09:15:52.445 debug Diesel-Preis-Feld 1 gefüllt tankerkoenig.0 2018-03-01 09:15:52.444 debug E10: Station 1 teurer als bisher billigste Station 0 tankerkoenig.0 2018-03-01 09:15:52.443 debug E10-Preis-Feld 1 gefüllt tankerkoenig.0 2018-03-01 09:15:52.430 debug E5: Station 1 teurer als bisher billigste Station 0 tankerkoenig.0 2018-03-01 09:15:52.429 debug E5-Preis-Feld 1 gefüllt tankerkoenig.0 2018-03-01 09:15:52.427 debug Station 644b6b0d-0216-4795-aa2c-b47ce8a27467 Total wird bearbeitet ... tankerkoenig.0 2018-03-01 09:15:52.425 debug Diesel: Station 0 teurer als bisher billigste Station 0 tankerkoenig.0 2018-03-01 09:15:52.425 debug Diesel-Preis-Feld 0 gefüllt tankerkoenig.0 2018-03-01 09:15:52.423 debug E10: Station 0 teurer als bisher billigste Station 0 tankerkoenig.0 2018-03-01 09:15:52.422 debug E10-Preis-Feld 0 gefüllt tankerkoenig.0 2018-03-01 09:15:52.421 debug E5: Station 0 teurer als bisher billigste Station 0 tankerkoenig.0 2018-03-01 09:15:52.420 debug E5-Preis-Feld 0 gefüllt tankerkoenig.0 2018-03-01 09:15:52.416 debug Station 9c51b211-c6da-441b-be55-9681f437bef9 BayWa wird bearbeitet ... tankerkoenig.0 2018-03-01 09:15:52.411 debug Einstellung/Eintrag Nr. 3 ist leer tankerkoenig.0 2018-03-01 09:15:52.411 debug Einstellung/Eintrag Nr. 4 ist leer tankerkoenig.0 2018-03-01 09:15:52.410 debug Einstellung/Eintrag Nr. 5 ist leer tankerkoenig.0 2018-03-01 09:15:52.405 debug Einstellung/Eintrag Nr. 6 ist leer tankerkoenig.0 2018-03-01 09:15:52.404 debug Einstellung/Eintrag Nr. 7 ist leer tankerkoenig.0 2018-03-01 09:15:52.404 debug Einstellung/Eintrag Nr. 8 ist leer tankerkoenig.0 2018-03-01 09:15:52.403 debug Einstellung/Eintrag Nr. 9 ist leer tankerkoenig.0 2018-03-01 09:15:52.401 debug JSON ok tankerkoenig.0 2018-03-01 09:15:52.400 debug Typ Body: string >>> Body Inhalt: {"ok":true,"license":....................... tankerkoenig.0 2018-03-01 09:15:52.123 debug API Key Länge: 36 Zeichen tankerkoenig.0 2018-03-01 09:15:52.122 debug Option is true tankerkoenig.0 2018-03-01 09:15:52.120 debug initializing objects tankerkoenig.0 2018-03-01 09:15:52.108 info starting. Version 1.0.4 in /opt/iobroker/node_modules/iobroker.tankerkoenig, node: v6.12.0 tankerkoenig.0 2018-03-01 09:15:52.049 info States connected to redis: 127.0.0.1:6379 tankerkoenig.0 2018-03-01 09:15:52.037 debug statesDB connected tankerkoenig.0 2018-03-01 09:15:51.987 debug objectDB connected tankerkoenig.0 2018-03-01 09:15:02.484 info starting. Version 1.0.4 in /opt/iobroker/node_modules/iobroker.tankerkoenig, node: v6.12.0 tankerkoenig.0 2018-03-01 09:15:02.415 info States connected to redis: 127.0.0.1:6379 tankerkoenig.0 2018-03-01 09:12:05.941 info objects written tankerkoenig.0 2018-03-01 09:12:05.555 info starting. Version 1.0.4 in /opt/iobroker/node_modules/iobroker.tankerkoenig, node: v6.12.0 tankerkoenig.0 2018-03-01 09:12:05.481 info States connected to redis: 127.0.0.1:6379
-
RE: [gelöst] IP Heizkörperthermostate mit alten Wandthermostaten HM-CC-TC steuern?
Ich bin zu doof fürs Scripting…...
Gibt es irgendwo eine verständliche Einführung fürs Skript erstellen mit Blockly und/oder HQ WebUI? So ganz von Anfang an mit Beispielen?
Die Lösung habe ich aber trotzdem im Homematic Forum gefunden.
Falls jemand hier draufstößt und das auch braucht: https://homematic-forum.de/forum/viewtopic.php?t=8258
Ich setze mal den Thread auf gelöst.