NEWS
Sonoff NSPanel
-
@armilar Hallo, Wetterdaten sind jetzt da, Warum??
aber am Panel nur Icon für aktuelles Wetter und die Temperatur ist irgend ein Wert (9°C) immer gleich.
Die weiteren 4 sind gleich geblieben. (Rufzeichen und "null") -
Der Alias bekommt immer erst Daten, wenn sich ein Datenpunkt verändert, deshalb auch manchmal die Verzögerung. Ich ändere den Datenpunkt meistens, in dem ich den Wert unter Objekte kurz verändere und dann wieder zurückstelle. Beschleunigt die Sache --> ist meistens der Grund, warum Schalter wieder zurückspringen - weil der Alias noch nicht greift. - dann kurz den Datenpunkt an/aus unter Objekte - dann sollte es klappen.
Kann es sein, dass im Accu-Weather Adapter noch nicht alle Daten sind? Warte mal bis morgen, der Forecast wird bei Accu-Weather um 5 Uhr berechnet und aktualisiert. Ist die Variable Forecast oben auf true?
var weatherForecast = true; //true = WheatherForecast 5 Days
Woher kommt denn der Wert 9°C? Was ist das für ein Datenpunkt, der sich nicht ändert? Eigener Sensor oder Temperatur aus Wetter-Adapter? Der muss ja unter Temp. im Alias "Wetter" gesetzt sein, oder?
Werf mal unter Objekte im mqtt.0. im Dtaenpunkt "CustomSend" das rein...
weatherUpdate~~17.6 °C~Do~~25.3 °C~Fr~~21.2 °C~Sa~~17.2 °C~So~~19.6 °C~
... und "Wert setzen" bestätigen. Dann sollte sich zumindest zeigen, ob das Panel reagiert.
Die Anleitung für Alexa cardMedia habe ich hier schon ausführlich am 19.04.2022 bechrieben
https://forum.iobroker.net/topic/50888/sonoff-nspanel/254?page=13#:~:text=19. Apr. 2022%2C 15%3A17
-
@armilar Hallo, Danke für deine Mühe.
Panel Reagiert wie es soll. mein Wetter-Alias sieht so aus:
-
@wheinz44 Also funktioniert jetzt alles? Anleitung für Alexa habe ich eben noch ergänzt
-
@armilar hab noch immer die 9°C
-
@wheinz44 sagte in Sonoff NSPanel:
@armilar hab noch immer die 9°C
Ändere mal den sainlogic.0.weather.current.outdoortemp auf 15.7 (auf jeden Fall anders hinter dem Komma)
-
@armilar keine Änderung
-
Was mich etwas irritiert ist die Funktionszugehörigkeit Color. Aber ansonsten sieht meiner genauso aus
Min/Max sind bei mir verdreht (hab ich eben erst gesehen, dass ich da Unsinn drin habe!) - aber faktisch werden die nicht einmal abgefragt und müssten auch nicht gefüllt sein
-
@armilar Zugehörigkeit hab ich geändert, hat auch nichts geholfen.
Min Max hatte ich auch verdreht -
@wheinz44 sagte in Sonoff NSPanel:
@armilar Zugehörigkeit hab ich geändert, hat auch nichts geholfen.
Min Max hatte ich auch verdrehtVersuche mal mit einer anderen Temperaturquelle (Das Wetter, Accu-Wheather, etc.). Nur für einen Test
-
@armilar 9° noch immer
-
@wheinz44 sagte in Sonoff NSPanel:
@armilar 9° noch immer
Weiß der Geier wo der die 9 herholt?
- heißt der Alias genauso, wie in der config?
-groß/klein-Schreibung?
also wenn Alias "alias.0.Wetter" dann auch in der config "alias.0.Wetter"? Nicht das aus irgendwelchen Versuchen noch ein anderer Alias drin ist? Blöde Frage - bin aber sonst schon fast ratlos. Wenn keine Daten gefunden würden, dann würde das Panel sie auch nicht anzeigen.
Nicht evtl. alias.0.NSPanel_oder_wieauch immer.Wetter ?
- heißt der Alias genauso, wie in der config?
-
@armilar alles kontrolliert, ist so wie es sein soll
-
-
@wheinz44 sagte in Sonoff NSPanel:
@armilar alles kontrolliert, ist so wie es sein soll
Das Panel erzeigt keine 9 ???
Die Funktion ist für den Aufbau verantwortlich
function HandleScreensaverUpdate(): void { if (screensaverEnabled && config.weatherEntity != null && existsObject(config.weatherEntity)) { var icon = getState(config.weatherEntity + ".ICON").val; let temperature: string = existsState(config.weatherEntity + ".ACTUAL") ? getState(config.weatherEntity + ".ACTUAL").val : existsState(config.weatherEntity + ".TEMP") ? getState(config.weatherEntity + ".TEMP").val : "null"; let payloadString = "weatherUpdate~" + Icons.GetIcon(GetAccuWeatherIcon(parseInt(icon))) + "~" + temperature + " " + config.temperatureUnit + "~" /*-------------------------------------------------------------------------------------------------------------------------------------*/ if (weatherForecast == true) { // Accu-Weather Forecast Tag 2 - Tag 5 -- Wenn weatherForecast = true for (let i = 2; i < 6; i++) { let TempMax = getState("accuweather.0.Summary.TempMax_d" + i).val; let DayOfWeek = getState("accuweather.0.Summary.DayOfWeek_d" + i).val; let WeatherIcon = GetAccuWeatherIcon(getState("accuweather.0.Summary.WeatherIcon_d" + i).val); payloadString += DayOfWeek + "~" + Icons.GetIcon(WeatherIcon) + "~" + TempMax + " °C~"; } } else { //In Config definierte Zustände wenn weatherForecast = false payloadString += GetScreenSaverEntityString(config.firstScreensaverEntity); payloadString += GetScreenSaverEntityString(config.secondScreensaverEntity); payloadString += GetScreenSaverEntityString(config.thirdScreensaverEntity); payloadString += GetScreenSaverEntityString(config.fourthScreensaverEntity); } /*-------------------------------------------------------------------------------------------------------------------------------------*/ SendToPanel(<Payload>{ payload: payloadString }); } }
Da steht im Prinzip: Wenn Screensaver eingeschaltet und Alias vorhanden --> nimm ICON und danach etwas verschoben nimm .TEMP und packe die Daten in den Payload - Danach Entscheidung, ob Forecast, oder wenn aus - selbst definierte Werte für die 4 kleineren - aber keine "9" - verstehe ich nicht mehr...
Kannst du den Alias auch noch posten? also Screenshot aus dem Geräte-Manager?
-
-
@wheinz44 sagte in Sonoff NSPanel:
Hmm ja, du sagst ja auch, du siehst das ICON schon.
Wirf den Alias mal weg und mach den neu... ICON und TEMP reichen. Ansonsten weiß ich auch nicht was da schief läuft
-
-
@wheinz44 hat nichts genutzt, werd mal Tasmota und Display neu machen.
Hast due hierzu eine Idee?
Alias ist wie in deiner Beschreibung
+ -
Wenn Wetter-Alias-Neubau nicht greift - dann die Hardcore-Methode
in der function HandleScreensaverUpdate den hier auskommentierten Part suchen (natürlich in deinem TS-Code aktuell noch nicht auskommentiert) und komplett austauschen. Dann holt der sich den Temp Wert eben direkt aus dem Datenpunkt.
let temperature = getState("sainlogic.0.weather.current.outdoortemp").val /* let temperature: string = getState(config.weatherEntity + ".TEMP").val existsState(config.weatherEntity + ".ACTUAL") ? getState(config.weatherEntity + ".ACTUAL").val : existsState(config.weatherEntity + ".TEMP") ? getState(config.weatherEntity + ".TEMP").val : "null"; */
Zum Punkt Alexa: Wünsche dir mal einen Radiosender oder eine Playlist. Dann mal im Alexa Adapter unter Echo Küche - Play, Pause, Stop, Volume Lauter leiser etc. "manuell" machen oder sprechen