Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [Skript] Absolute Feuchte berechnen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Skript] Absolute Feuchte berechnen

    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      DiJaexxl last edited by

      Hallo,

      ich würde die Pushover Info zum lüften nicht versenden, wenn das Fenster schon auf ist.

      Als Datenpunkt würde ich diesen sehen:

      "hm-rpc.0.LEQ1460744.2.WINDOW_OPEN_REPORTING"/WZ Heizungsregler:2.WINDOW_OPEN_REPORTING/

      Das ist ein Datenpunkt vom Raumthermostat.

      Ach ich steuere die Fenster manuell, wenn eine Lüftungsinfo kommt, soll sich einer auf den Weg machen 🙂

      Dirk

      1 Reply Last reply Reply Quote 0
      • A
        aquapro last edited by

        @Homoran:

        949_klima002.jpg `

        Hallo Rainer,

        ich möchte mir zum Test auch so eine ähnliche View bauen. Irgenwie bekomme ich gerade nicht den Anfang hin. Sind die Datenpunkte jeweils einzelne Widgets? Und der Pfeil eine Tendenz? Die durch was bestimmt wird?

        Danke und Gruß

        Tino

        1 Reply Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators last edited by

          Die Datenpunkte sind alle einzelne Justgage value + Indikator Widgets

          Da sind die Pfeile direkt mit drin.

          Ist ein echt tolles Widget.

          Gruß

          Rainer

          1 Reply Last reply Reply Quote 0
          • paul53
            paul53 last edited by

            Anmerkung zur Funktion runden(wert,stellen) im Script

            // rundet einen Float auf zwei Stellen
            function runden(wert,stellen) {
                return Math.round(wert * 10 * stellen) / (10 * stellen);
            }
            
            

            funktioniert nicht wie gedacht. Richtig:

            // rundet einen Float auf eine bestimmte Anzahl Nachkommastellen
            function runden(wert,stellen) {
                return Math.round(wert * Math.pow(10,stellen)) / Math.pow(10,stellen);
            }
            
            
            1 Reply Last reply Reply Quote 0
            • ruhr70
              ruhr70 last edited by

              was hat denn da nicht funktioniert? Bei mir haben bisher alle Zahlen gepasst.

              Ausser das der Kommentar hätte " auf max. x Stellen "heissen müssen.

              Da die Rückgabe eine Zahl ist, können auch weniger als x Nachkommastellen ausgegeben werden.

              1 Reply Last reply Reply Quote 0
              • paul53
                paul53 last edited by paul53

                @ruhr70:

                was hat denn da nicht funktioniert? Bei mir haben bisher alle Zahlen gepasst.

                Wirklich ?
                Beispiel: 2 Nachkommastellen

                Math.round(wert * 20) / 20;
                

                Mögliche Werte z.B.:
                1, 1.05, 1.1, 1.15, …
                Erwartete Werte:
                1, 1.01, 1.02, ...

                1 Reply Last reply Reply Quote 0
                • ruhr70
                  ruhr70 last edited by

                  @paul53:

                  @ruhr70:

                  was hat denn da nicht funktioniert? Bei mir haben bisher alle Zahlen gepasst. `
                  Wirklich ?

                  Beispiel: 2 Nachkommastellen

                  Math.round(wert * 20) / 20;
                  

                  Mögliche Werte z.B.:

                  1, 1.05, 1.1, 1.15, …

                  Erwartete Werte:

                  1, 1.01, 1.02, ... `

                  Ok… ich änder das dann mal ;-):

                  javascript-2	info	script.js.Test.temp_2: 2.345: Runden (Round): 2.35 : Runden neu: 2.35 : Runden (Floor): 2.3
                  javascript-2	info	script.js.Test.temp_2: 6.7654: Runden (Round): 6.75 : Runden neu: 6.77 : Runden (Floor): 6.75
                  javascript-2	info	script.js.Test.temp_2: 5.12345: Runden (Round): 5.1 : Runden neu: 5.12 : Runden (Floor): 5.1
                  javascript-2	info	script.js.Test.temp_2: 1.002: Runden (Round): 1 : Runden neu: 1 : Runden (Floor): 1
                  javascript-2	info	script.js.Test.temp_2: 1.15: Runden (Round): 1.15 : Runden neu: 1.15 : Runden (Floor): 1.15
                  javascript-2	info	script.js.Test.temp_2: 1.1: Runden (Round): 1.1 : Runden neu: 1.1 : Runden (Floor): 1.1
                  javascript-2	info	script.js.Test.temp_2: 1.05: Runden (Round): 1.05 : Runden neu: 1.05 : Runden (Floor): 1.05
                  javascript-2	info	script.js.Test.temp_2: 1: Runden (Round): 1 : Runden neu: 1 : Runden (Floor): 1
                  

                  ! ```
                  var test = [1, 1.05, 1.1, 1.15,1.002,5.12345,6.7654,2.345] ! // rundet einen Float auf x Stellen function runden(wert,stellen) { return Math.round(wert * 10 * stellen) / (10 * stellen); } ! // rundet einen Float auf eine bestimmte Anzahl Nachkommastellen function rundenNeu(wert,stellen) { return Math.round(wert * Math.pow(10,stellen)) / Math.pow(10,stellen); } ! // rundet einen Float auf x Stellen function rundenFloor(wert,stellen) { return Math.floor(wert * 10 * stellen) / (10 * stellen); } ! var x; for (i = 0; i < test.length; i++) { x = test[i]; log(x +": Runden (Round): " + runden(x,2) + " : Runden neu: " + rundenNeu (x,2) + " : Runden (Floor): " + rundenFloor (x,2)); } [/i]

                  1 Reply Last reply Reply Quote 0
                  • ruhr70
                    ruhr70 last edited by

                    Hätte mir den Vergleich auch sparen können.

                    Paul hat es schön bildlich dargestellt, warum da ein Fehler drin ist.

                    x20/20 ist halt nicht x100/100 :oops:

                    1 Reply Last reply Reply Quote 0
                    • jens.maus
                      jens.maus last edited by

                      Hallo Rainer,

                      @Homoran:

                      Die Datenpunkte sind alle einzelne Justgage value + Indikator Widgets

                      Da sind die Pfeile direkt mit drin.

                      Ist ein echt tolles Widget. `

                      Nach meinem Umstellen von DashUI auf ioBroker bin ich nun auch auf das justgage widget aufmerksam geworden. Allerdings scheint es dafür noch nicht so wirklich eine Anleitung zu geben. Was mir nicht ganz klar ist wie/wo ich denn die min/mid/max Werte gerade bei so Sachen wie Raumtemperatur/Feuchtigkeit bzw. Spritpreise herbekommen soll? Muss ich mir die irgendwie per javascript berechnen und abspeichern (wo/wie?) und dann ins justgage widget als Objekte eintragen oder gibt es da eine andere Möglichkeit? Wäre schön wenn du hier mal eine Beispielanwendung posten könntest wie das ding (justgage+indikator) anzuwenden ist?!?!

                      Gruss,

                      Jens

                      1 Reply Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators last edited by

                        Hallo Jens ,

                        Ich spiele gerade im Moment daran rum um das herauszufinden.

                        In dem letzten Update scheint sich da etwas getan zu haben. Zumindest gibt es jetzt auch einen horizontalen Pfeil für gleichbleibende Tendenz.

                        Ich hatte mir letztens unter http://justgage.com die originale angesehen. Schaffe es aber selbst noch nicht die Effekte so hinzugekommen.

                        Wenn ich es raus habe wie die einzelnen Parameter wirken melde ich mich wieder.

                        > Was mir nicht ganz klar ist wie/wo ich denn die min/mid/max Werte gerade bei so Sachen wie Raumtemperatur/Feuchtigkeit bzw. Spritpreise herbekommen soll? Muss ich mir die irgendwie per javascript berechnen und abspeichern (wo/wie?) und dann ins justgage widget als Objekte eintragen oder gibt es da eine andere Möglichkeit? .
                        Die Werte kannst/musst du manuell in der Konfiguration des Widgets eingeben.

                        Bin nur nicht mehr am PC.

                        Am Tablet ist das zu mühsam. Mache ich morgen für dich.

                        Gruß

                        Rainer

                        1 Reply Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators last edited by

                          @jens.maus:

                          Was mir nicht ganz klar ist wie/wo ich denn die min/mid/max Werte gerade bei so Sachen wie Raumtemperatur/Feuchtigkeit bzw. Spritpreise herbekommen soll? Muss ich mir die irgendwie per javascript berechnen und abspeichern (wo/wie?) und dann ins justgage widget als Objekte eintragen oder gibt es da eine andere Möglichkeit? `
                          Hallo Jens,

                          Habe es jetzt doch mal auf dem Tablet versucht:
                          144_img_20160708_221526_076.jpg

                          Im Prinzip musst du dir die min mid und Max Daten ausdenken. So wie es dir am besten passt.

                          Die dazugehörige Farben kannst du auch aussuchen. Bei Temperaturen ist es da noch einfach: blau=kalt, grün=ok und rot ist zu heiß.

                          Dann suchst du dir den Wohlfühlbereich aus und nimmst die Mitte davon als mid.

                          Der Wert er dann die Farbe für kalt annehmen soll wird als min und die wo es zu heiß ist als Max eingetragen.

                          Die Farben dazwischen werden gemischt.

                          Du kannst aber auch hier die Mitte es Gradienten in Prozent der Werte angeben.

                          Hoffe das war verständlich

                          Gruß

                          Rainer

                          1 Reply Last reply Reply Quote 0
                          • jens.maus
                            jens.maus last edited by

                            @Homoran:

                            Hoffe das war verständlich `

                            Danke, das war mir prinzipiell schon recht klar. Was ich aber nicht kapiere ist wann ich den Pfeil zum hochgehen/runtergehen bewegen kann? Hab hier schon ein paar mal romprobiert und es hat sich nichts getan. Um mit dem justgage eine Tendenz z.b. beim Benzinpreis darstellen zu können muss man ja "mid" sowie min/max berechnen und sich doch dann merken und das nach einer gewissen zeit reseten. Hab aber leider noch kein Beispiel z.b. durch Nutzung des Tankerkönig-adapters gesehen wo jemand das justgage einsetzt um die Tendenz darzustellen…

                            1 Reply Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators last edited by

                              Die Tendenz zeigt an, ob sich der Wert seit der letzten Messung verändert hat.

                              Alternativ kannst du ihm auch eine Zeit eingeben innerhalb er sich geändert haben muss, damit der steigende oder fallende Pfeil angezeigt wird.

                              Gruß

                              Rainer

                              1 Reply Last reply Reply Quote 0
                              • jens.maus
                                jens.maus last edited by

                                @Homoran:

                                Die Tendenz zeigt an, ob sich der Wert seit der letzten Messung verändert hat.

                                Alternativ kannst du ihm auch eine Zeit eingeben innerhalb er sich geändert haben muss, damit der steigende oder fallende Pfeil angezeigt wird. `

                                Achso? Ich dachte das hängt auch von den min/max/mean werten ab? Wo kann ich denn da die Zeit einstellen? Kann man da auch einstellen das der Pfeil ggf. die Tendenz der letzten X Werte betreffen soll? Das wäre IMHO sicherlich sinnvoller weil ansonsten ja die Pfeile meistens horizontal sein werden wenn die werte sich nicht ändern….

                                1 Reply Last reply Reply Quote 0
                                • Homoran
                                  Homoran Global Moderator Administrators last edited by

                                  Ja du kannst die Zeit einstellen

                                  Im Block Group Indikator der Punkt "gleichbleibend nach" ein Wert in Sekunden .

                                  Ich muss mich außerdem korrigieren. Default scheint auch eine mir unbekannte Zeit voreingestellt zu sein, die deutlich länger als zwei sende Abstände ist

                                  Wenn du auf einen Wert reagieren willst musst du das mit Farbe machen.

                                  Diesel <1€ grün, >1,50 rot und zwischen 1,10 und 1,30 dunkelgrau, der Rest als farbgradient.

                                  Gruß

                                  Rainer

                                  1 Reply Last reply Reply Quote 0
                                  • jens.maus
                                    jens.maus last edited by

                                    Hallo Zusammen,

                                    gibt es denn bzgl. dieses "Lüftungsempfehlungsskriptes" bereits weitere Fortschritte? Ich setze es hier inzwischen auch erfolgreich die v0.6.2 ein. Ich würde es jedoch gerne noch so umbauen wollen das es nicht nur Lüftungsempfehlungen als Hauptvariablen vergibt sondern auch z.B. sowas wie "Fenster schliess Empfehlungen" wenn man z.B. an einem verregneten Tag vergisst das Fenster zu schliessen und somit Gefahr läuft sich die Feuchtigkeit ins Haus zu holen. Prinzipiell gibt das Skript das ja bereits her, nur hat man keine direkten Variablen um diesen Fall ggf. in einem VIS widgets direkt abprüfen zu lassen. Ich könnte mir vorstellen zusätzlich zu den Datenpunkten der Temperatursensoren auch noch Datenpunkte angeben zu können wo der Fensterstatus mit abgefragt wird und wenn in einem Raum das Fenster als geöffnet erkannt wird aber für den Raum die Empfehlung eigentlich ist das Fenster besser zu schliessen das er dann eben in einer separaten variable + Liste die Räume auflistet für die man doch bitte das Fenster schliessen sollte.

                                    1 Reply Last reply Reply Quote 0
                                    • ruhr70
                                      ruhr70 last edited by

                                      Aktuell ist die 0.6.4, die allerdings nicht veröffentlicht ist.

                                      Der Unterschied liegt vorrangig in Fehlerkorrekturen, u.a. die von Paul gemeldeten.

                                      Wenn ich Deine Anforderung richtig verstanden habe, kannst Du die "Fenster schliessen Empfehlung" einfach von der Lüftungsempfehlung nehmen.

                                      Bei mir wird ein offenes Fenster in VIS z.B. in Abhängigkeit der Lüftungsempfehlung unterschiedlich farbig dargestellt. Ist es offen und es soll gelüftet werden, ist der Hintergrund von "offen" grün, ist es offen und es soll nicht gelüftet werden ist der Hintergrund gelb.

                                      Gruß

                                      Michael

                                      1 Reply Last reply Reply Quote 0
                                      • ruhr70
                                        ruhr70 last edited by

                                        327_l_ften-1.jpg

                                        327_l_ften-2.jpg

                                        Im 2. Bild ist das Fenster offen, sollte aber eigentlich geschlossen sein. Deswegen ist dort der Hintergrund gegenüber dem ersten Bild anders farbig dargestellt. Ändert sich die Empfehlung auf "lüften", wird der Hintergrund grün.

                                        Die Spalten:

                                        HY (Hysterese)

                                        EN (Entfeuchten ja)

                                        KÜ (Kühlen ja)

                                        AU (Auskühlschütz ja)

                                        habe ich für mich dargestellt, um die Logik zu visualisieren und ggf. die Empfehlung zu überstimmen.

                                        1 Reply Last reply Reply Quote 0
                                        • jens.maus
                                          jens.maus last edited by

                                          @ruhr70:

                                          Aktuell ist die 0.6.4, die allerdings nicht veröffentlicht ist. `

                                          Wo genau entwickelt ihr die? Mal drüber nachgedacht das ganze mal irgendwo auf Github abzulegen damit man sich geordnet daran beteiligen kann?

                                          @ruhr70:

                                          Wenn ich Deine Anforderung richtig verstanden habe, kannst Du die "Fenster schliessen Empfehlung" einfach von der Lüftungsempfehlung nehmen.

                                          Bei mir wird ein offenes Fenster in VIS z.B. in Abhängigkeit der Lüftungsempfehlung unterschiedlich farbig dargestellt. Ist es offen und es soll gelüftet werden, ist der Hintergrund von "offen" grün, ist es offen und es soll nicht gelüftet werden ist der Hintergrund gelb. `

                                          Meinem Verständnis nach ist das aber leicht etwas anderes. Stell dir z.b. den Fall vor das die Außentemperatur und Luftfeuchtigkeit die selbe ist wie Innen. Sollte in dem Fall nicht das Skript auch die Empfehlung "Fenster zu" bzw. Lüftungsempfehlung "false" aussprechen? Trotzdem kann es jedoch sein das ich eben das Fenster offen lassen möchte um z.b. die Luftqualität zu verbessern. Wenn es nun allerdings (wie heute) dann anfangen sollte zu regnen und die Luftfeuchtigkeit außen beginnt zu steigen dann tritt ja die Situation ein das ich nun besser daran wäre die Fenster wieder zu schliessen damit ich mir (wegen Schimmel) keine erhöhte Luftfeuchtigkeit einhandle. In dem Falle sollte das Skript einen zusätzlichen Status haben das es mir aktiv empfiehlt das Fenster zu schliessen damit die Luftfeuchtigkeit nicht weiter steigen kann und ich dann in VIS z.b. das Fenster mit "roten" Hintergrund anzeigen kann was mir dann signalisieren würde das es nun definitiv besser ist das Fenster zu schliessen. Oder übersehe ich da etwas?

                                          1 Reply Last reply Reply Quote 0
                                          • jens.maus
                                            jens.maus last edited by

                                            @ruhr70:

                                            Im 2. Bild ist das Fenster offen, sollte aber eigentlich geschlossen sein. Deswegen ist dort der Hintergrund gegenüber dem ersten Bild anders farbig dargestellt. Ändert sich die Empfehlung auf "lüften", wird der Hintergrund grün. `

                                            Danke für die Screenshots. Diese Art der Darstellung ist in der Tat interessant. Kann ich dich noch fragen wie genau du das in VIS implementiert hast da du einerseits den öffnungsstatus als text darstellst und den Hintergrund dann aber mit der Lüftungsempfehlung verknüpft hast?

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            452
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            95
                                            738
                                            187339
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo