[phpBB Debug] PHP Warning: in file [ROOT]/ext/kinerity/bestanswer/event/main_listener.php on line 514: Undefined array key "poster_answers" [phpBB Debug] PHP Warning: in file [ROOT]/ext/kinerity/bestanswer/event/main_listener.php on line 514: Undefined array key "poster_answers" Type mismatch: cannot convert from int to DecimalType - openhabforum.de
in VisualStudioCode werden mir für den folgenden Code die Fehler "Type mismatch: cannot convert from int to DecimalType" und "Ambiguous binary operation.The operator declarations operator_equals(Number, Number) in NumberExtensions and operator_equals(Type, Number) in NumberExtensions both match." angezeigt.
rule "Wecker Manuell"
when
Time cron "0 * * * * ?"
then
if (Wecker_Switch.state == ON) {
var sollMinute = (Wecker_M.state as DecimalType).intValue
var sollStunde = (Wecker_H.state as DecimalType).intValue
// 30 Minuten vor Weckzeit
var DecimalType dreissigmin
var DecimalType dreissigh
if (sollMinute > 29) {
dreissigmin = sollMinute-30
dreissigh = sollStunde
} else{
dreissigh = sollStunde-1
dreissigmin = sollMinute+30
}
if (dreissigmin == now.getMinuteOfHour && dreissigh == now.getHourOfDay) {...}
Die Regel funktioniert aber einwandfrei und im LogViewer werden auch keine Fehler angezeigt. Was muss ich verändern um die Fehlermeldungen in VisualStudioCode zu beheben?
rule "Wecker Manuell"
when
Time cron "0 * * * * ?"
then
if (Wecker_Switch.state == ON) {
var sollZeit = (Wecker_M.state as Number).intValue + (Wecker_H.state as Number).intValue * 60
// 30 Minuten vor Weckzeit
var Number dreissigmin = sollZeit - 30
if(dreissigmin < 0) dreissigmin +=1440 // Weckzeit vor 00:30 :)
if (dreissigmin == now.getMinuteOfDay) {...}
Natürlich musst Du im Verlauf des Codes dann sollZeit statt sollMinute und sollStunde vewenden.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet