NEWS
SONOFF NSPanel mit Lovelace UI (TypeScript Version)
-
Hallo, ich hoffe, ich bin hier richtig.. ich habe heute mein NSPanel auf Tasmota (15.3.0 nspanel) geflasht und dann das Display (nach 2 Versuchen..) auf Lovelace. Nun wollte ich das Typescript zum Laufen bekommen, aber es geht schon damit los, dass mir unter dem sonoff-MQTT-Adapter diese Unterverzeichnisse TELE etc. nicht angelegt wurden, es gibt also kein RESULT-Objekt, nur ein CustomRecv.
Hat sich da was grundlegend geändert? Für Hilfe wäre ich echt dankbar..
-
Hallo, ich hoffe, ich bin hier richtig.. ich habe heute mein NSPanel auf Tasmota (15.3.0 nspanel) geflasht und dann das Display (nach 2 Versuchen..) auf Lovelace. Nun wollte ich das Typescript zum Laufen bekommen, aber es geht schon damit los, dass mir unter dem sonoff-MQTT-Adapter diese Unterverzeichnisse TELE etc. nicht angelegt wurden, es gibt also kein RESULT-Objekt, nur ein CustomRecv.
Hat sich da was grundlegend geändert? Für Hilfe wäre ich echt dankbar..
hier geht es um dieses Projekt, wie im Wiki beschrieben https://github.com/joBr99/nspanel-lovelace-ui/wiki
hast du dich an die Instalationsroutine gehalten? https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker---Basisinstallation#step-für-step---anleitung
-
State value to set for "mqtt.3.cmnd.tasmota_A4ED44.CustomSend" has to be type "string" but received type "object
der Datenpunkt steht auf String, wie bei mir. Ich bekomme aber eine solche Meldung nicht. Eventuell ist beim Script kopieren etwas schief gelaufen.
nimm mal ein komplettes leeres Script und passe nur Punkt 1 (tasmota) und 2 (userPfad) an und starte dieses einmal.Ich habe es glaube ich grade gefunden, leider nur als Bild:
ich vermute mal eine falsche Einstellung in deiner MQTT Instanz. es werden 3 Topics abonniert und gepublisht
State value to set for "mqtt.3.cmnd.tasmota_A4ED44.CustomSend" has to be type "string" but received type "object
der Datenpunkt steht auf String, wie bei mir. Ich bekomme aber eine solche Meldung nicht. Eventuell ist beim Script kopieren etwas schief gelaufen.
nimm mal ein komplettes leeres Script und passe nur Punkt 1 (tasmota) und 2 (userPfad) an und starte dieses einmal.Ich habe es glaube ich grade gefunden, leider nur als Bild:
ich vermute mal eine falsche Einstellung in deiner MQTT Instanz. es werden 3 Topics abonniert und gepublisht
Ich habe dies bei drei Panels, alle mit der Bad Heizung. Alle anderen Knöpfe auf anderen Seiten gehen ohne diese Meldung. Kann das wirklich am kopieren des Scrips liegen?
Hier die Einstellungen meiner Java Instanz:



Und hier die Seiten Config von einem Panel:
//-- Anfang für eigene Seiten -- z.T. selbstdefinierte Aliase erforderlich ---------------- //-- Start for your own pages -- some self-defined aliases required ---------------- let CardThermo2Test: PageType = { type: 'cardThermo2', heading: 'Bad', thermoItems: [ /* Center-Area of cardThermo2 */ /* SET-Temp */ { id: 'alias.0.NSPanel.Thermostat_Bad', minValue: 10.0, maxValue:30.0, stepValue: 0.5, unit: "°C" }, /* Actual Temp */ { id: 'alias.0.NSPanel.Thermostat_Bad.ACTUAL', icon: 'thermometer', onColor: Orange, unit: "°C" }, /* Actual Humidity */ { id: 'alias.0.NSPanel.Thermostat_Bad.HUMIDITY', icon: 'water-percent', onColor: HMIOn, unit: "%" }, /* Text State */ { id: 'alias.0.NSPanel.Thermostat_Bad.MODE', onColor: Orange } ], items: [ /* Max 9 Entities in cardThermo2 */ { id: 'alias.0.NSPanel.TemperaturWassserSpeicher', name: 'TemperaturSpeicher', useValue: true, suffixName: '°C', fontSize: 1}, { id: 'alias.0.NSPanel.Dachfenster', name: 'Dachfenster', icon: 'window-open-variant', icon2: 'window-closed-variant', onColor: MSRed, offColor: MSGreen}, { id: 'alias.0.NSPanel.Heizung', icon: 'heat-wave', offColor: MSRed, onColor: MSGreen, name: 'Heizung'}, //{ navigate: true, id: null, targetPage: 'Abfall', onColor: White, name: 'Abfallkalender', icon: 'trash-can'}, { id: 'alias.0.NSPanel.Heizung_Spiegel', icon: 'heat-pump-outline', offColor: MSRed, onColor: MSGreen, name: 'Speigelheizung'}, { id: 'alias.0.NSPanel.Endstufe', icon: 'soundbar', offColor: MSRed, onColor: MSGreen, name: 'Endstufe'}, { id: 'alias.0.NSPanel.Lüfter',name: 'Ventilator', icon: 'fan', onColor: On, offColor: HMIOff}, //{ id: 'alias.0.NSPanel_1.TestTemperatur', name: 'Außentemperatur', offColor: White , onColor: White, useValue: true, suffixName: ' °C', fontSize: 1, colorScale: { 'val_min': -20, 'val_max': 40, 'val_best': 20 } }, { id: 'alias.0.NSPanel.Fussbodenheizung', icon: 'heating-coil', offColor: MSRed, onColor: MSGreen, name: 'Fussbodenheizung'}, { id: 'alias.0.NSPanel.Deckenbeleuchtung_Klein', icon: 'lightbulb', offColor: MSRed, onColor: MSGreen, name: 'Licht'}, //{ id: 'delete'}, //{ id: 'alias.0.NSPanel_EMU.TestKlimaVirtualModeList', icon: 'dots-horizontal-circle-outline', onColor: White, offColor: White, name: 'Betriebsmodus', modeList: ['Aus','Kühlen auf', 'Heizen auf']} ], alwaysOnDisplay: false }; let Bad_1 = <PageEntities> { 'type': 'cardEntities', 'heading': 'Bad', 'useColor': true, 'items': [ <PageItem>{ id: 'alias.0.NSPanel.Deckenbeleuchtung_Gross', interpolateColor: true, name: 'Licht Gross'}, <PageItem>{ id: 'alias.0.NSPanel.Deckenbeleuchtung_Klein', interpolateColor: true, name: 'Licht Klein'}, <PageItem>{ id: 'alias.0.NSPanel.Lüfter', icon: 'power', offColor: MSRed, onColor: MSGreen, name: 'Lüfter'}, <PageItem>{ id: 'alias.0.NSPanel.Endstufe', icon: 'power', offColor: MSRed, onColor: MSGreen, name: 'Endstufe'} //<PageItem>{ id: 'alias.0.NSPanel.Heizung_Spiegel', icon: 'power', offColor: MSRed, onColor: MSGreen, name: 'Spiegelheizung'} }; let Bad_2 = <PageEntities> { 'type': 'cardEntities', 'heading': 'Bad 2', 'useColor': true, 'items': [ <PageItem>{ id: 'alias.0.NSPanel.Heizung_Spiegel', icon: 'power', offColor: MSRed, onColor: MSGreen, name: 'Speigelheizung'}, <PageItem>{ id: 'alias.0.NSPanel.Dachfenster', onColor: White, name: 'Dach Kuppel'}, <PageItem>{ id: 'alias.0.NSPanel.Heizung', icon: 'power', offColor: MSRed, onColor: MSGreen, name: 'Heizung'}, <PageItem>{ id: 'alias.0.NSPanel.Fussbodenheizung', icon: 'power', offColor: MSRed, onColor: MSGreen, name: 'Fussbodenheizung'}, }; let SensorGrid = <PageGrid> { 'type': 'cardGrid', 'heading': 'Wetter', 'useColor': true, 'items': [ <PageItem>{ id: 'alias.0.NSPanel.Aussentemperatur', name: 'Außentemp. °C', offColor: MSRed, onColor: MSGreen, useValue: true, colorScale: {'val_min': -20, 'val_max': 40, 'val_best': 20} }, <PageItem>{ id: 'alias.0.NSPanel.Luftfeuchte', name: 'Luftfeuchte %', offColor: MSYellow, onColor: MSYellow , useValue: true, colorScale: {'val_min': 0, 'val_max': 100, 'val_best': 65} }, <PageItem>{ id: 'alias.0.NSPanel.Taupunkt', name: 'Taupunkt °C', offColor: MSRed, onColor: MSGreen, useValue: true, colorScale: {'val_min': -20, 'val_max': 40, 'val_best': 20} }, <PageItem>{ id: 'alias.0.NSPanel.UV_Index', name: 'UV Index', offColor: White , onColor: White, useValue: true, colorScale: {'val_min': 0, 'val_max': 12} }, <PageItem>{ id: 'alias.0.NSPanel.Windgeschwindigkeit', name: 'Windstärke bft', offColor: White , onColor: White, useValue: true, colorScale: {'val_min': 0, 'val_max': 9} }, <PageItem>{ id: 'alias.0.NSPanel.Luftdruck', name: 'Luftdruck hPa', offColor: White , onColor: White, useValue: true, colorScale: {'val_min': 950, 'val_max': 1050, 'val_best': 1013} }, ] }; var Energie = <PagePower> { "type": "cardPower", "heading": "cardPower Emulator", "useColor": true, "subPage": false, "parent": undefined, "items": [ // <PageItem>{ }, //Demomode <PageItem>{ id: "alias.0.NSPanel.PowerCard1" }, ] }; let Alexa: PageType = { 'type': 'cardMedia', 'heading': 'Alexa', 'items': [{ id: AliasPath + 'Media.PlayerAlexa', adapterPlayerInstance: 'alexa2.0.', mediaDevice: 'G090Lcccccc209F3', // Eigene Seriennummer des primären Device einstellen speakerList: ['Wohnung','Wohnraum'], //analog alexa2 Music-Provider //Mögliche Playlists: playList: ['Amazon-Music-Playlist.Papa', 'Amazon-Music-Playlist.Onkelz', 'Amazon-Music-Playlist.Traditionshüter', 'Amazon-Music-Playlist.Poco', 'Amazon-Music-Playlist.Rock', 'Amazon-Music-Playlist.Party', 'Amazon-Music-Playlist.Dance', 'Amazon-Music-Playlist.Gut'], equalizerList: ['Bassboost','Klassik','Dance', 'Deep', 'Electronic', 'Flat', 'Hip-Hop', 'Rock', 'Metal', 'Jazz', 'Latin', 'Tonstärke', 'Lounge', 'Piano'], colorMediaIcon: colorAlexa, colorMediaArtist: Yellow, colorMediaTitle: Yellow, alwaysOnDisplay: true, autoCreateALias: true }] }; //-- https://github.com/joBr99/nspanel-lovelace-ui/wiki/NSPanel-Page-%E2%80%90-Typen_How-2_Beispielekann es was damit zu tun haben das ich die aliase öffter verwende.
Hab den Java Adapter grade mal auf "alles" im Log gestellt:
2026-04-06 17:46:14.605 - [32minfo[39m: javascript.0 (10433) State value to set for "mqtt.3.cmnd.tasmota_A4ED44.CustomSend" has to be type "string" but received type "object" 2026-04-06 17:46:14.608 - [35msilly[39m: javascript.0 (10433) States user redis pmessage */mqtt.3.cmnd.tasmota_A4ED44.CustomSend:{"val":{"ack":false},"ack":false,"ts":1775490374603,"q":0,"c":"script.js.common.NsPanelWz","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1775490374603}2026-04-06 17:46:14.590 - [35msilly[39m: javascript.0 (10433) States user redis pmessage */0_userdata.0.NSPanel.2.Event.Button.Action:{"val":"button","ack":true,"ts":1775490374585,"q":0,"c":"script.js.common.NsPanelWz","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1775490374585} 2026-04-06 17:46:14.591 - [35msilly[39m: javascript.0 (10433) States user redis pmessage */0_userdata.0.NSPanel.2.Event.Button.Value:{"val":"","ack":true,"ts":1775490374585,"q":0,"c":"script.js.common.NsPanelWz","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1775490369889} 2026-04-06 17:46:14.593 - [35msilly[39m: javascript.0 (10433) States user redis pmessage */0_userdata.0.NSPanel.2.Event.Button.Id:{"val":"alias.0.NSPanel.Heizung","ack":true,"ts":1775490374585,"q":0,"c":"script.js.common.NsPanelWz","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1775490374585}2026-04-06 17:46:13.738 - [35msilly[39m: javascript.0 (10433) States user redis pmessage */mqtt.3.stat.tasmota_A4ED44.LOGGING:{"val":"17:46:12.494 MQT: stat/tasmota_A4ED44/RESULT = {\"CustomSend\":\"Done\"}","ack":true,"ts":1775490373701,"q":0,"from":"system.adapter.mqtt.3","user":"system.user.admin","lc":1775490373701} 2026-04-06 17:46:13.740 - [35msilly[39m: javascript.0 (10433) States user redis pmessage */mqtt.3.stat.tasmota_A4ED44.LOGGING:{"val":"17:46:12.550 MQT: stat/tasmota_A4ED44/RESULT = {\"CustomSend\":\"Done\"}","ack":true,"ts":1775490373701,"q":0,"from":"system.adapter.mqtt.3","user":"system.user.admin","lc":1775490373701} 2026-04-06 17:46:13.742 - [35msilly[39m: javascript.0 (10433) States user redis pmessage */mqtt.3.stat.tasmota_A4ED44.LOGGING:{"val":"17:46:12.862 MQT: stat/tasmota_A4ED44/RESULT = {\"CustomSend\":\"Done\"}","ack":true,"ts":1775490373701,"q":0,"from":"system.adapter.mqtt.3","user":"system.user.admin","lc":1775490373701} 2026-04-06 17:46:13.744 - [35msilly[39m: javascript.0 (10433) States user redis pmessage */mqtt.3.stat.tasmota_A4ED44.LOGGING:{"val":"17:46:12.877 MQT: tele/tasmota_A4ED44/RESULT = {\"CustomRecv\":\"event,renderCurrentPage\"}","ack":true,"ts":1775490373701,"q":0,"from":"system.adapter.mqtt.3","user":"system.user.admin","lc":1775490373701}2026-04-06 17:46:13.696 - [35msilly[39m: javascript.0 (10433) States user redis pmessage */mqtt.3.stat.tasmota_A4ED44.LOGGING:{"val":"17:46:12.339 MQT: tele/tasmota_A4ED44/RESULT = {\"CustomRecv\":\"event,buttonPress2,bPrev,button\"}","ack":true,"ts":1775490373601,"q":0,"from":"system.adapter.mqtt.3","user":"system.user.admin","lc":1775490373601} -
Das d kommt vom Script. Da schreibt was ack: false ins val von einem State was Quatsch ist
-
-
-
hier geht es um dieses Projekt, wie im Wiki beschrieben https://github.com/joBr99/nspanel-lovelace-ui/wiki
hast du dich an die Instalationsroutine gehalten? https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker---Basisinstallation#step-für-step---anleitung
@TT-Tom Update: Ich habe das Script zum laufen bekommen, nachdem ich dem mqtt-Adapter installiert habe, komisch, dass es mit dem sonoff-mqtt nicht ging. Jetzt habe ich als einziges Problem, dass mein Log "zugespamt" wird mit Warnungen, dass states vom openweather-Adapter nicht gefunden werden. Den habe ich auch gar nicht installiert, sondern pirate-weather, das habe ich dem Script auch gesagt..
-
@TT-Tom Update: Ich habe das Script zum laufen bekommen, nachdem ich dem mqtt-Adapter installiert habe, komisch, dass es mit dem sonoff-mqtt nicht ging. Jetzt habe ich als einziges Problem, dass mein Log "zugespamt" wird mit Warnungen, dass states vom openweather-Adapter nicht gefunden werden. Den habe ich auch gar nicht installiert, sondern pirate-weather, das habe ich dem Script auch gesagt..
Es geht nicht mit Sonoff, da dieser den Topic anders verarbeitet und auch andersrum sortiert.
Die Fehlermeldung können vom Screensaver. Bitte immer Logauszüge mit senden. Vom Scriptstart und vom Fehler.
-
ich kann deinen Fehler nicht nachstellen, weder in der US noch EU Version.
Versuche mal mit einem leeren Script und nur der CardThremo als Page.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden