Ankündigung

Einklappen
Keine Ankündigung bisher.

Edomi Logikbaustein für ETA Heizkessel

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • vento66
    antwortet
    Mit
    Code:
    /strValue=\"([AusEin]+)\"
    und
    Code:
    /strValue=\"([Heizn]+)\"
    bekommst Du die Texte auf den Ausgang. Dann halt mittels Vergleicher etc. auf 1/0 wandeln.
    Zuletzt geändert von vento66; 02.10.2020, 20:41.

    Einen Kommentar schreiben:


  • julianb240393
    antwortet
    vento66 da die Heizperiode wieder losgeht ist mir noch was aufgefallen, vielleicht kannst du mir nochmal helfen:

    ich habe zwei Abfragen, wo keine Zahlen ankommen, sondern gibts hier einmal "Aus" und "Ein" und ich möchte quasi das "Ein" abfragen und dann eine 1 in ein iKO schreiben

    <eta version="1.0">
    <value uri="/user/var/120/10101/0/0/13922" strValue="Aus" unit="" decPlaces="0" scaleFactor="1" advTextOffset="1040">1040</value>
    </eta>

    und dann gibts noch den folgenden, da möchte ich wo jetzt "Bereit" steht nur ein "Heizen" abfragen, also wenn mein Kessel feuert, und dann ebenfalls eine 1 in ein iKO schreiben

    <eta version="1.0">
    <value uri="/user/var/40/10021/0/0/12000" strValue="Bereit" unit="" decPlaces="0" scaleFactor="1" advTextOffset="2000">2012</value>
    </eta>

    Kannst du mir da nochmal helfen? Das wär super.

    Einen Kommentar schreiben:


  • julianb240393
    antwortet
    hab es noch übernommen. Nochmal Danke für deine Mühe 👌

    Einen Kommentar schreiben:


  • vento66
    antwortet
    Schau mal nach, ich hatte die Regex noch mal geändert, da warst Du aber schneller.....

    Einen Kommentar schreiben:


  • julianb240393
    antwortet
    Zitat von vento66 Beitrag anzeigen
    PHP-Code:
    /strValue="(-?\d+\,?\d+)"
    geht für Zahlen mit oder ohne Komma

    EDIT: gerade noch mal geändert, die Aussentemp könnte ja auch mal negativ werden
    Tip Top 😊👍

    Vielen herzlichen Dank. Es funktioniert wunderbar.
    So schnell kanns gehen, wenn jemand Ahnung hat

    Einen Kommentar schreiben:


  • vento66
    antwortet
    PHP-Code:
    /strValue="([\d,.-]+)"
    geht für Zahlen mit oder ohne Komma

    EDIT: gerade noch mal geändert, die Aussentemp könnte ja auch mal negativ werden
    Zuletzt geändert von vento66; 01.06.2020, 12:38.

    Einen Kommentar schreiben:


  • julianb240393
    antwortet
    Zitat von vento66 Beitrag anzeigen
    Hm mein Fehler! E3 muss auf 1 im preg_match LBS
    danke das wars

    noch eine Frage:

    bei der Außentemperatur bekomme ich einen Wert mit Dezimalstellen

    <eta version="1.0">
    <value uri="/user/var/40/10241/0/0/12197" strValue="24,6" unit="°C" decPlaces="1" scaleFactor="10" advTextOffset="0">246</value>
    </eta>

    da krieg ich irgendwie keinen Wert raus. Liegt das an dem Komma ? Wie könnte man das lösen?

    Einen Kommentar schreiben:


  • vento66
    antwortet
    Hm mein Fehler! E3 muss auf 1 im preg_match LBS

    Einen Kommentar schreiben:


  • julianb240393
    antwortet
    Okay, hatte noch einen Fehler an meiner Ausgangsbox, die den Wert von preg_match dann in mein iKO schreibt. Allerdings bekomme ich jetzt in diesem iKO den Wert "strValue=91" anstatt nur die "91", wie krieg ich das noch geändert?

    Einen Kommentar schreiben:


  • coliflower
    antwortet
    Zitat von julianb240393 Beitrag anzeigen
    Wann wird preg_match ausgeführt? immer?
    Immer dann, wenn das iKO 232 etwas Neues hat und damit den LBS triggert.

    Einen Kommentar schreiben:


  • julianb240393
    antwortet
    erst mal Danke für deine Hilfe, mit der Beschreibung konnte ich schon viel mehr anfangen, aber ich glaub ich hab noch irgendwo nen Fehler.

    Die http-Abfrage funktioniert und als Live-Wert bekomme ich in der Logikseiten-Ansicht auf dem preg_match auch "strValue=91" (aktueller Wert ist 91) raus.
    Aber irgendwie krieg ich nichts auf das iKO auf das ich die 91 schreiben will.

    Wann wird preg_match ausgeführt? immer?

    müsste am Ausgang nicht eigentlich nur "91" rauskommen ohne "strValue"?

    Web-Abfrage-ETA.JPG

    Einen Kommentar schreiben:


  • vento66
    antwortet
    Ausgangsbox ungleich 0, Am Eingang das Systemko 24, als Befehl deine http-get Abfrage. Bei der Abfrage legst Du ein IKO an, worin deine Antwort gespeichert wird.
    Dieses IKO an den pregmatch LBS an E1. An E2 kommt
    PHP-Code:
    /strValue="(\d+)"/smx 
    . E3 und E4 bleiben so. Am Ausgang kommt dann deine 82.
    Zuletzt geändert von vento66; 01.06.2020, 10:30.

    Einen Kommentar schreiben:


  • julianb240393
    antwortet
    Ja hab ich. Hab auch schon ein paar lbs erfolgreich in Benutzung. Aber das Problem ist ja dass es keinen Baustein dafür gibt.

    Und mit den Antworten hier kann ich so gut wie nichts anfangen. Liegt wohl daran dass ich keine Programmiersprache spreche 🤷‍♂️

    Einen Kommentar schreiben:


  • coliflower
    antwortet
    Sorry, kann ich nicht, da ich den LBS und die http Funktionen nicht kenne / nutze.

    Grundsätzlich wollte ich dir die Richtung zeigen ... Hat du schon die allgemeine Hilfe <?-Symbol> wie man einen LBS nutzt und im speziellen die Hilfe des jeweiligen LBSen gelesen ?

    Einen schönen Feiertag noch :-) !

    Einen Kommentar schreiben:


  • julianb240393
    antwortet
    könntest du das ganze etwas ausführlicher erklären? Ich versteh im Moment nur Bahnhof. Wo soll ich das dranhängen? Was muss ich mit dem http-Aufruf machen? Ich kann da überall was reinschreiben, aber passieren tut da gar nichts.

    Einen Kommentar schreiben:

Lädt...
X