***gelöst***HTTPMOD wie richtige Abfrage eintragen - RIKA Pelletofen - Firenet

Begonnen von Helmi55, 04 September 2017, 17:18:00

Vorheriges Thema - Nächstes Thema

Helmi55

Sorry da kann ich dann auch nicht weiterhelfen.
ich fahre mit dem Komfortmodus sehr gut. ich heize ein 130m2 Haus mit dem Ofen (er steht im Erdgeschoss und Wohnzimmer und Küche sind sind oben - beim Stiegenaufgang gibt es eine GlasSchiebetüre)
Ich starte um 06:00 und gegen 09:00 schaltet er aus. Danach reduziere ich auf 21 Grad und bei Bedarf wird wieder hochgeregelt.

Gruß
helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Badflex

Vielen Dank für die Antwort. Du sagst du reduzierst auf 21°. Das machst du ja dann manuell, denk ich.
Genau das ist ja das Problem was ich auch schon Rika geschrieben habe. Da wäre ein Update nötig um zu verschiedenen Tageszeiten verschiedene Temperaturen oder Leistungstufen einzustellen.
Raspberry Pi, CUL868(SlowRF), FB 7490, SmartVisu, fast nur HomeMatic wenig FS20, Netatmo

Helmi55

Ja das kann ich aber auch vom Handy steuern.
an Rika zu schreiben ist vergeudete Zeit. Hab auch schon einen Vorschlag gemacht - nichteinmal eine Antwort.

Gruß
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Badflex

Hab versucht  das jetzt auch mal einzurichten.
Die Abfrage funktioniert, senden kann ich aber nicht.
Bekomme diese Fehlermeldung wenn ich reading10 Regex editieren will.

Ofen: reading10Regex Regex: Bad regexp >(?s)controls.*?({.*?})< in attr reading10Regex: Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.32), passed through in regex; marked by <-- HERE in m/^(?s)controls.*?({ <-- HERE .*?})$/ at fhem.pl line 6448, <$fh> line 2488.
Raspberry Pi, CUL868(SlowRF), FB 7490, SmartVisu, fast nur HomeMatic wenig FS20, Netatmo

Helmi55

System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Helmi55

Hallo
hier wie versprochen meine aktuelle RAW Definition:
defmod Ofen HTTPMOD https://www.rika-firenet.com/api/client/Stove ID/status  30
attr Ofen alias Ofen
attr Ofen appOptions { "dashboard": true, "template": "pelletstove", "connected": { "tank": "du_Tank" }}
attr Ofen enableCookies 1
attr Ofen event-on-change-reading .*
attr Ofen extractAllJSON 1
attr Ofen get09Name revision
attr Ofen get09URL https://www.rika-firenet.com/api/client/Stove ID/status
attr Ofen group Temperatur
attr Ofen icon scene_stove
attr Ofen reAuthRegex id="login"|Unauthorized
attr Ofen reading01JSON sensors_inputRoomTemperature
attr Ofen reading01Name RaumTemp
attr Ofen reading02JSON controls_targetTemperature
attr Ofen reading02Name SollTemp
attr Ofen reading03JSON controls_operatingMode
attr Ofen reading03Name Betriebsart
attr Ofen reading03OMap 0:M, 1:A, 2:K
attr Ofen reading04JSON sensors_inputFlameTemperature
attr Ofen reading04Name BrennTemp
attr Ofen reading05JSON sensors_parameterFeedRateTotal
attr Ofen reading05Name Pellets
attr Ofen reading07JSON sensors_statusMainState
attr Ofen reading07Name Zustand
attr Ofen reading07OMap 2:ZuendungEIN, 3:Startphase, 4:Regelbetrieb, 6:Ausbrand, 1:Standby
attr Ofen reading20JSON controls_heatingTimeMon1
attr Ofen reading20Name HZ Mo 1
attr Ofen reading21JSON controls_heatingTimeMon2
attr Ofen reading21Name HZ Mo 2
attr Ofen reading22JSON controls_heatingTimeTue1
attr Ofen reading22Name HZ Di 1
attr Ofen reading23JSON controls_heatingTimeTue2
attr Ofen reading23Name HZ Di 2
attr Ofen reading24JSON controls_heatingTimeWed1
attr Ofen reading24Name HZ Mi 1
attr Ofen reading25JSON controls_heatingTimeWed2
attr Ofen reading25Name HZ Mi 2
attr Ofen reading26JSON controls_heatingTimeThu1
attr Ofen reading26Name HZ Do1
attr Ofen reading27JSON controls_heatingTimeThu2
attr Ofen reading27Name HZ Do2
attr Ofen reading28JSON controls_heatingTimeFri1
attr Ofen reading28Name HZ Fr1
attr Ofen reading29JSON controls_heatingTimeFri2
attr Ofen reading29Name HZ Fr2
attr Ofen reading30JSON controls_heatingTimeSat1
attr Ofen reading30Name HZ Sa1
attr Ofen reading31JSON controls_heatingTimeSat2
attr Ofen reading31Name HZ Sa2
attr Ofen reading32JSON controls_heatingTimeSun1
attr Ofen reading32Name HZ So1
attr Ofen reading33JSON controls_heatingTimeSun2
attr Ofen reading33Name HZ So2
attr Ofen reading99Name controlsJSON
attr Ofen reading99Regex (?s)controls.*?(\{.*?})
attr Ofen replacement01Mode expression
attr Ofen replacement01Regex \{\{data\}\}
attr Ofen room Favoriten,Ofen
attr Ofen set03IMap 0:Manuell, 1:Auto, 2:Komfort
attr Ofen set03Replacement01Value replaceJSON("operatingMode", 2)
attr Ofen set10Name targetTemperature
attr Ofen set10Replacement01Value replaceJSON("targetTemperature", 22)
attr Ofen set20Name heatingTimeMon1
attr Ofen set20Replacement01Value replaceJSON("heatingTimeMon1",*Value)
attr Ofen set21Name heatingTimeMon2
attr Ofen set21Replacement01Value replaceJSON("heatingTimeMon2",*Value)
attr Ofen set22Name heatingTimeTue1
attr Ofen set22Replacement01Value replaceJSON("heatingTimeTue1",*Value)
attr Ofen set23Name heatingTimeTue2
attr Ofen set23Replacement01Value replaceJSON("heatingTimeTue2",*Value)
attr Ofen set24Name heatingTimeWed1
attr Ofen set24Replacement01Value replaceJSON("heatingTimeWed1",*Value)
attr Ofen set25Name heatingTimeWed2
attr Ofen set25Replacement01Value replaceJSON("heatingTimeWed2",*Value)
attr Ofen set26Name heatingTimeThu1
attr Ofen set26Replacement01Value replaceJSON("heatingTimeThu1",*Value)
attr Ofen set27Name heatingTimeThu2
attr Ofen set27Replacement01Value replaceJSON("heatingTimeThu2",*Value)
attr Ofen set28Name heatingTimeFri1
attr Ofen set28Replacement01Value replaceJSON("heatingTimeFri1",*Value)
attr Ofen set29Name heatingTimeFri2
attr Ofen set29Replacement01Value replaceJSON("heatingTimeFri2",*Value)
attr Ofen set30Name heatingTimeSat1
attr Ofen set30Replacement01Value replaceJSON("heatingTimeSat1",*Value)
attr Ofen set31Name heatingTimeSat2
attr Ofen set31Replacement01Value replaceJSON("heatingTimeSat2",*Value)
attr Ofen set32Name heatingTimeSun1
attr Ofen set32Replacement01Value replaceJSON("heatingTimeSun1",*Value)
attr Ofen set33Name heatingTimeSun2
attr Ofen set33Replacement01Value replaceJSON("heatingTimeSun2",*Value)
attr Ofen setData {{data}}
attr Ofen setURL https://www.rika-firenet.com/api/client/Stove ID/controls
attr Ofen showError 1
attr Ofen sid01Data email=e-mailAdresse&password=geheim
attr Ofen sid01URL https://www.rika-firenet.com/web/login
attr Ofen stateFormat RT: RaumTemp Z: Zustand ST: SollTemp
attr Ofen timeout 120
attr Ofen verbose 2
attr Ofen widgetOverride targetTemperature:slider,20,23,24,25,26,27,28



und das gehört in die 99_myUtils.pm
package main;

use strict;
use warnings;
use POSIX;
use JSON;
use Image::Grab;


sub
myUtils_Initialize($$)
{
  my ($hash) = @_;
}

# Enter you functions below _this_ line.

sub
replaceJSON ($$) {
   my ($valToReplace, $value) = @_;
   $value = InternalVal("Ofen", "value", $value);
   Log3 ("Ofen", 3, "replaceJSON Internalvalue: $value");
   fhem ("get Ofen revision");
   my $json = ReadingsVal("Ofen", "controlsJSON","");
   Log3 ("Ofen", 3, "replaceJSON configsJSON: $json");
   return if ($json eq "");
   my $decoded = decode_json($json);
   my $result;
   for my $key ( keys %$decoded ) {
      $result .= "$key=";
      if ($key eq $valToReplace) {
         $result .= $value."&";
      } else {
         $result .= $decoded->{$key}."&";
      }
   }
   chop($result);
   Log3("Ofen", 3, "replaceJSON Result: $result");
   return $result;
}



Mein besonderer Dank an @amenomade (er ist der eigentliche Ersteller) und auch an @Vize

lg
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Badflex

Vielen Dank. Komischerweise geht es jetzt einwandfrei.
Ich denke über Fhem bekomme ich das jetzt auch so hin wie ich das wollte
Raspberry Pi, CUL868(SlowRF), FB 7490, SmartVisu, fast nur HomeMatic wenig FS20, Netatmo

Badflex

Gleich nochmal eine Frage hinterher.
Wie hast du deine Pelletbenachrichtigungg erstellt?
Kann man es nicht so machen das man eine Benachrichtigung  bekommt,
wenn der Wert der bei Pellets Angezeigt wird um 15 höher ist.
Dann würde man sehen wann der nächste Sack reinpasst.
Weiß nur nicht wie ich das mit +15 mache.
Raspberry Pi, CUL868(SlowRF), FB 7490, SmartVisu, fast nur HomeMatic wenig FS20, Netatmo

Helmi55

Servus
das habe ich wie folgt gelöst - wahrscheinlich werde ich vom Forum geteert und gefedert - weil so kompliziert - aber es funktioniert:
ich habe eine dummy erstellt -> du_PelletsWarnung (aliasPelletsFüllmenge) hier gibst du deinen bis jetzt bekannten Verbrauch ein = ":sensors_parameterFeedRateTotal"
und jedesmal wenn du 15 oder 30kg Pellet nachfüllst trägst du dies hier ein.
defmod du_PelletsWarnung dummy
attr du_PelletsWarnung alias PelletsFüllmenge
attr du_PelletsWarnung room Ofen


Dann gibt es ein notify
defmod ny_Uebertrag notify Ofen:sensors_parameterFeedRateTotal.* set du_PelletsOfen $EVTPART1
attr ny_Uebertrag alias ny_Uebertrag
attr ny_Uebertrag room Ofen,Steuerung


einen dummy PelletsVerbrauch
defmod du_PelletsOfen dummy
attr du_PelletsOfen alias PelletsVerbrauch
attr du_PelletsOfen room Ofen


Und ein DOIF für die Pushover Meldung ans Handy
defmod di_PelletsWarnung DOIF ([du_PelletsOfen:state] > [du_PelletsWarnung:state]) ({fhem("set Pushover1 msg title='Ofen' message='Pellets nachfüllen!'")}) DOELSE
attr di_PelletsWarnung alias di_PelletsWarnung
attr di_PelletsWarnung room Meldungen,Steuerung


Hoffe es hilft

LG
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Vize

Mahlzeit,

@Badflex und Helmi55

Wenn ich eure letzten Antworten lese, habt ihr den RIKA eigenen Thermostaten, richtig?
Nur damit ist der Komfortmodus nutzbar, oder?

Ich habe diesen Thermostaten nicht, sondern regele den Ofen über einen Homematic Wandthermostaten.

Damit sollte das Vorhaben zum Runterregeln der Heizleistung nach Raumtemperatur (und/oder Zeit) eigentlich mit Hilfe eines DOIFs funktionieren.
Platt gesagt, wenn Raumtemp. > X °C -> Heizleistung Ofen 50 %

Wenn der RIKA Thermostat ebenfalls ein Reading für die Raumtemperatur ins HTTPMOD-Device liefert, sollte das analog funktionieren...

Falls ich Blödsinn geschrieben habe, ignoriert es, ich habe nicht alle Posts im Detail gelesen... ;-)

Ich nutze das aber so nicht, sondern starte und stoppe den Ofen rein nach Raumtemperatur mit einem Delta von 1 K. Zur Zeit springt der damit zweimal pro Tag an.
Tiefer als 80 % Heizleistung gehe ich nicht, da der Ofen mir dann zuviel Ruß produziert im Pelletbetrieb.

VG
Andreas


Vize

Und noch eine andere Frage zum Ofen...

Hab' letztens ein Update auf die Version 2.28 vom Touch-Panel gemacht.
Der Firenet-Stick wurde dabei ebenfalls aktualisiert.
Seitdem verliert der Stick das WLAN gefühlt alle zwei Tage und die Steuerung per FHEM ist nicht mehr nutzbar.

Ist euch das Problem bekannt?

VG
Andreas

Badflex

Also beim Sono den ich habe, gibt es nur die Version 2.27.
Ich hatte auch am Anfang das selbe Problem mit dem Wlan. Der Stick wurde nache einigen Mails mit Rika ausgetauscht
Seit dem geht es einwandfrei.

Ja, das war am Anfang meine frage ob ich wenn ich das mit dem HTTPMOD einrichte irgendwie Zugriff bekomme das ich das so Regeln kann.
Leider bin ich nicht ganz so fit im Programmieren von Fhem und muss mich da erst irgendwie einarbeiten.
Im Moment wollte ich wie Helmi eine Benachrichtigung einrichten wenn der Tank fast leer ist.
Dazu könnte man den Dekelsensor auch benutzen.
Das heißt wenn ich den Tankdeckel aufmache und ein Sack einfülle, könnte er eigentlich bei +15 kg eine Nachricht schicken.
Da muss ich aber uch nochmal spielen bis i h das so hin bekomme.
Raspberry Pi, CUL868(SlowRF), FB 7490, SmartVisu, fast nur HomeMatic wenig FS20, Netatmo

Vize

Hi,

der Stick wurde bei mir auch schon getauscht, allerdings bei einer der niedrigeren Versionsstände.
Mit V 2.27 lief auch alles ohne Störung durch, Probleme sind seit Update auf V 2.28 da.
Werde mal bei RIKA nachfragen, ob ein Downgrade möglich ist...

VG
Andreas

Helmi55

Hallo
also ich habe Ofen und Display 2.27.
Mein Techniker hat im Herbst beim Service gemeint, 2.28 spielen wir noch nicht auf........
Ich darf nicht verschreien, aber im Moment läuft alles sehr rund.
Gruß
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Vize

OK, danke euch für die Antworten.

Helmut, was macht denn dein Techniker beim Service so? Hab den bisher noch nicht gebraucht...

VG
Andreas