From 3ad458db9556cb77f36952ada11aaf8eef6c701e Mon Sep 17 00:00:00 2001 From: Ellert Date: Tue, 27 Jun 2023 14:11:29 +0000 Subject: [PATCH] 74_AutomowerConnect: Common.pm, prevent DevIo from directly setting STATE, prepare automowerconnect.js for use with FTUI 2 git-svn-id: https://svn.fhem.de/fhem/trunk@27709 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/CHANGED | 4 ++- fhem/lib/FHEM/Devices/AMConnect/Common.pm | 36 +---------------------- fhem/www/pgm2/automowerconnect.js | 7 +++-- 3 files changed, 8 insertions(+), 39 deletions(-) diff --git a/fhem/CHANGED b/fhem/CHANGED index 63c432a71..ad3f83403 100644 --- a/fhem/CHANGED +++ b/fhem/CHANGED @@ -1,6 +1,8 @@ # Add changes at the top of the list. Keep it in ASCII, and 80-char wide. # Do not insert empty lines here, update check depends on it. - - bugfix: 74_AutomowerConnect: Common.pm, automowerconnect.js, fix promlem + - feature: 74_AutomowerConnect: Common.pm, prevent DevIo from directly setting + STATE, prepare automowerconnect.js for use with FTUI 2 + - bugfix: 74_AutomowerConnect: Common.pm, automowerconnect.js, fix problem with empty positions array - feature: 74_AutomowerConnect: Common.pm, add additional API polling - feature: 76_SMAInverter: bugfix DC-Power diff --git a/fhem/lib/FHEM/Devices/AMConnect/Common.pm b/fhem/lib/FHEM/Devices/AMConnect/Common.pm index ee893e9d5..82b55b686 100644 --- a/fhem/lib/FHEM/Devices/AMConnect/Common.pm +++ b/fhem/lib/FHEM/Devices/AMConnect/Common.pm @@ -297,6 +297,7 @@ my $mapZonesTpl = '{ ( $hash->{LIBRARY_VERSION} ) = $cvsid =~ /\.pm (.*)Z/; $hash->{Host} = 'ws.openapi.husqvarna.dev'; $hash->{Port} = '443/v1'; + $hash->{devioNoSTATE} = 1; AddExtension( $name, \&GetMap, "$type/$name/map" ); AddExtension( $name, \&GetJson, "$type/$name/json" ); @@ -567,28 +568,12 @@ sub FW_detailFn_Update { } - # MOWING PATH OLD - # my $posxy = ''; - - # if ( @pos > 0 ) { - - # $posxy = int( ( $lonlo-$pos[ 0 ]{longitude} ) * $picx / $mapx ).",".int( ( $latlo-$pos[ 0 ]{latitude} ) * $picy / $mapy ).",'".$pos[ 0 ]{act}."'"; - - # for ( my $i = 1; $i < @pos; $i++ ){ - - # $posxy .= ",".int( ( $lonlo - $pos[ $i ]{longitude} ) * $picx / $mapx ).",".int( ( $latlo - $pos[ $i ]{latitude} ) * $picy / $mapy ).",'".$pos[ $i ]{act}."'"; - - # } - - # } - # ERROR MESSAGE my $errdesc = $hash->{helper}{lasterror}{errordesc}; my $errdate = $hash->{helper}{lasterror}{errordate}; my $errstate = $hash->{helper}{lasterror}{errorstate}; # ERROR PATH - my @poserrxy = ( int( ( $lonru-$lonlo ) / 2 * $picx / $mapx ), int( ( $latlo - $latru ) / 2 * $picy / $mapy ) ); if ( @poserr > 0 ) { @@ -602,25 +587,6 @@ sub FW_detailFn_Update { } - # ERROR PATH OLD - # my $poserrxy = int( ( $lonru-$lonlo ) / 2 * $picx / $mapx ).",".int( ( $latlo - $latru ) / 2 * $picy / $mapy );; - - # if ( @poserr > 0 ) { - - # $poserrxy = int( ( $lonlo - $poserr[ 0 ]{longitude} ) * $picx / $mapx ) . "," . int( ( $latlo - $poserr[ 0 ]{latitude} ) * $picy / $mapy ); - - # for ( my $i = 1; $i < @poserr; $i++ ){ - # $poserrxy .= ",".int( ( $lonlo - $poserr[ $i ]{longitude} ) * $picx / $mapx) . "," . int( ( $latlo - $poserr[ $i ]{latitude} ) * $picy / $mapy ); - # } - - # } - - # Log3 $name, 1, "AutomowerConnectUpdateDetail ( '$name', '$type', $detailFnFirst, $picx, $picy, $scalx, [ '$errdesc', '$errdate' ], [ $posxy ], [ $poserrxy ] )"; - - # map { - # ::FW_directNotify("#FHEMWEB:$_", "AutomowerConnectUpdateDetail ( '$name', '$type', $detailFnFirst, $picx, $picy, $scalx, [ '$errdesc', '$errdate', '$errstate' ], [ $posxy ], [ $poserrxy ] )",""); - # } devspec2array("TYPE=FHEMWEB"); - # prepare hash for json map update $hash->{helper}{mapupdate}{name} = $name; $hash->{helper}{mapupdate}{type} = $type; diff --git a/fhem/www/pgm2/automowerconnect.js b/fhem/www/pgm2/automowerconnect.js index 1ea200376..36ac63fcc 100644 --- a/fhem/www/pgm2/automowerconnect.js +++ b/fhem/www/pgm2/automowerconnect.js @@ -1,5 +1,6 @@ -FW_version["automowerconnect.js"] = "$Id$"; +if ( !(typeof FW_version === 'undefined') ) + FW_version["automowerconnect.js"] = "$Id$"; function AutomowerConnectShowError( ctx, div, dev, picx, picy, errdesc, erray ) { // ERROR BANNER @@ -274,7 +275,7 @@ function AutomowerConnectTor ( x0, y0, x1, y1 ) { function AutomowerConnectUpdateJson ( path ) { $.getJSON( path, function( data, textStatus ) { - log( 'AutomowerConnectUpdateJson ( '+path+' ): status '+textStatus ); + console.log( 'AutomowerConnectUpdateJson ( \''+path+'\' ): status '+textStatus ); if ( textStatus == 'success') AutomowerConnectUpdateDetail ( data.name, data.type, data.detailfnfirst, data.picx, data.picy, data.scalx, data.errdesc, data.posxy, data.poserrxy ); @@ -366,7 +367,7 @@ function AutomowerConnectUpdateDetail (dev, type, detailfnfirst, picx, picy, sca } else { setTimeout(()=>{ - log('AutomowerConnectUpdateDetail loop: div && canvas && canvas_0 false '+ type+' '+dev ); + console.log('AutomowerConnectUpdateDetail loop: div && canvas && canvas_0 false '+ type+' '+dev ); AutomowerConnectUpdateDetail (dev, type, detailfnfirst, picx, picy, scalx, errdesc, pos, erray); }, 100); }