Habe mir eine WebApp für den Batterie-Status gebaut

AntwortenAntworten Options Options Arrow

Re: Habe mir eine WebApp für den Batterie-Status gebaut

i3fahrer
  • Beiträge: 467
  • Registriert: So 8. Jan 2017, 15:28
  • Wohnort: Hamburg
  • Hat sich bedankt: 36 Mal
  • Danke erhalten: 16 Mal
read
speedy83 hat geschrieben: Hier meine Version in nodejs:
https://github.com/speedy-83/i3logger
Sehr schön. Und wenn man es bei https://zeit.co/now/ ablegt, dann hat man sogar einen öffentlichen, nicht lokalen Zugriff.
Meine T-Shirts für E-MOBILISTEN

BMW i3 Fluid Black / 60 Ah / Since 2016
Anzeige

Re: Habe mir eine WebApp für den Batterie-Status gebaut

i3fahrer
  • Beiträge: 467
  • Registriert: So 8. Jan 2017, 15:28
  • Wohnort: Hamburg
  • Hat sich bedankt: 36 Mal
  • Danke erhalten: 16 Mal
read
endurance hat geschrieben:Nochmals kurz was habe ich geändert damit es unter IIS auf einem windows 2008R2 Server in einem Unterverzeichnis läuft:
IIS? ;)
endurance hat geschrieben: 1. MIME Types im ISS hinzugefügt

Code: Alles auswählen

.appcache text/cache-manifest
.woff2 font/woff2
Hab jetzt eine web.config mit beiden MIME-Types angelegt. Mit dem nächsten Release mit dabei.
endurance hat geschrieben: 2. absolute Pfade ("/...") durch relative ("./...") in index.html und .appcache ersetzt
Hab ich umgesetzt, geht heute, morgen ins Repo.
endurance hat geschrieben:3. SSL Verify == false in index.php bei den curl requests

Code: Alles auswählen

curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false);
Das würde ich pauschal nicht machen, der Sicherheit wegen. Das Peer-Zertifikat sollte - sogar muss - auf Richtigkeit geprüft werden. Funktioniert bei uns allen mit Apache scheinbar wunderbar.
Meine T-Shirts für E-MOBILISTEN

BMW i3 Fluid Black / 60 Ah / Since 2016

Re: Habe mir eine WebApp für den Batterie-Status gebaut

NotReallyMe
  • Beiträge: 1812
  • Registriert: Fr 15. Mär 2013, 17:46
  • Hat sich bedankt: 53 Mal
  • Danke erhalten: 63 Mal
read
IIS sind die Internet Information Services, enthalten unter anderem einen Webserver.

Speedy, danke. Damit kann man mit Hilfe eines dauerhaft laufenden Servers (z.B. Ein SAN) ein langfristiges Log aufbauen. Zumindest so lange bis BMW diese Informationen weiter ohne besonderen Zugangsschutz (z.B. Captcha) bereitstellt.
Bisher I001-17-07-500 Max.Kapa. 29.1 kWh, jetzt I001-17-11-520 Max.Kapa. 27.9 kWh

Re: Habe mir eine WebApp für den Batterie-Status gebaut

USER_AVATAR
read
Er hat IIS schon verstanden ist halt apache "Jünger" ;) - ich hab halt kein Linux laufen (bisher nie geschafft das vernünftig zu integrieren/ der Aufwand war mir zu hoch). Ich hab zwar auch Apache auf windows laufen aber das ist nur Spielumgebung und urlalt.
Technikblog & Shop: http://www.elektrifiziert.net
PV 18,2kWp - BHKW EcoPower 1.0, 30kWh LiON Sunny Island System
BMW i3 60Ah (Verbrauch ca. 13,8kWh/100km; SW: I001-16-07-506)

Re: Habe mir eine WebApp für den Batterie-Status gebaut

USER_AVATAR
read
systematic hat geschrieben:
endurance hat geschrieben:3. SSL Verify == false in index.php bei den curl requests

Code: Alles auswählen

curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false);
Das würde ich pauschal nicht machen, der Sicherheit wegen. Das Peer-Zertifikat sollte - sogar muss - auf Richtigkeit geprüft werden. Funktioniert bei uns allen mit Apache scheinbar wunderbar.
danke für die Übernahme - bzgl. Cert - muss ich mal schauen ob ich das exakte Problem irgendwie rausbekomme.
Technikblog & Shop: http://www.elektrifiziert.net
PV 18,2kWp - BHKW EcoPower 1.0, 30kWh LiON Sunny Island System
BMW i3 60Ah (Verbrauch ca. 13,8kWh/100km; SW: I001-16-07-506)

Re: Habe mir eine WebApp für den Batterie-Status gebaut

i3fahrer
  • Beiträge: 467
  • Registriert: So 8. Jan 2017, 15:28
  • Wohnort: Hamburg
  • Hat sich bedankt: 36 Mal
  • Danke erhalten: 16 Mal
read
endurance hat geschrieben:Er hat IIS schon verstanden ist halt apache "Jünger" ;)
So ist es ;)

Aber eigentlich bin ich Nginx-Anhänger. Apache ist nur verbreiteter. Daher, wenn etwas öffentlich, dann auf/mit Apache ;)
Meine T-Shirts für E-MOBILISTEN

BMW i3 Fluid Black / 60 Ah / Since 2016

Re: Habe mir eine WebApp für den Batterie-Status gebaut

USER_AVATAR
read
[quote="systematic"][/quote]

ich habe da mal ne Frage :oops: :?

ich habe mich nun ein wenig mit Github beschäftigt, auch weil LocutusB einen "Fork" erstellt hat.

Habe ich das richtig verstanden, dass man deine Änderungen dadurch automatisch in den "eignen" Fork übernehmen kann?

Der Gedanke dahinter ist folgender. Wenn ich Anpassungen in manueller Form vornehme, muss ich diese jedesmal erneut von Hand machen. Find ich doof bzw aufwändig. Ich würde gerne von Deinen Änderungen automatisch profitieren.

Und damit komme ich zur Frage 2. Wenn das mit dem Fork so gelingt, muss ich dann die htaccess wiederum jedesmal von Hand auf meine Domain ändern (das ist ja nicht so dramatisch)

Wahrscheinlich mache ich mir viel zu viele Gedanken daraum :roll:
BMW i3 - 60Ah - BEV (Baudatum 09-2013) Andesitsilber - I001-18-11-539 - 10/2015-04/2019
BMW i3 - 120Ah - BEV (Baudatum 03.05.2019) Jucarobeige - I001-20-03-530 - seit 16.05.2019

FAQ-Thread für den BMW i3
steuerliche Fragen rund um das Elektroauto

Re: Habe mir eine WebApp für den Batterie-Status gebaut

USER_AVATAR
read
LocutusB hat geschrieben:Hier mal mein Zwischenstand:
ich habe mir mal Deinen Fork angesehen und kann einige deiner Info im Screen nicht in der php entdecken. Würdest du mir diese teilen?
BMW i3 - 60Ah - BEV (Baudatum 09-2013) Andesitsilber - I001-18-11-539 - 10/2015-04/2019
BMW i3 - 120Ah - BEV (Baudatum 03.05.2019) Jucarobeige - I001-20-03-530 - seit 16.05.2019

FAQ-Thread für den BMW i3
steuerliche Fragen rund um das Elektroauto

Re: Habe mir eine WebApp für den Batterie-Status gebaut

USER_AVATAR
read
Zwar mein eigenes Verbrechen (denn ich weiss nicht was ich da tue..) aber evtl. hilft es ja.

Code: Alles auswählen

function send_response_json() {
        // Set JSON vars
        $attributes = $this->json;

        $updateTime = $attributes->updateTime_converted;
        $electricRange = intval( $attributes->beRemainingRangeElectricKm );
        $chargingLevel = intval( $attributes->chargingLevelHv );
        $chargingActive = intval( $attributes->chargingSystemStatus === 'CHARGINGACTIVE' );

        $chargingTimeRemaining = intval( $attributes->chargingTimeRemaining );
		//$chargingClock = strftime("%a %H:%M",time()+mktime(0,$chargingTimeRemaining,0,1,1,1970));
        $chargingClock = ($chargingTimeRemaining ? strftime("%a %H:%M",time()+mktime(1,$chargingTimeRemaining,0,1,1,1970)):'--:--' );
		$chargingTimeRemaining = ( $chargingTimeRemaining ? ( date( 'H:i', mktime( 0, $chargingTimeRemaining ) ) . ' h' ) : '--:-- h' );
		
		
        $stateOfCharge = number_format( round( $attributes->soc, 2 ), 2, ',', '.');
        $stateOfChargeMax = number_format( round( $attributes->socMax, 2 ), 2, ',', '.');

		$doorLockState = intval( $attributes->door_lock_state === 'SECURED' );
		if($doorLockState == '1')
			$doorLockState='ABGESCHLOSSEN';
		else
			$doorLockState='OFFEN';
		$mileage = intval( $attributes->mileage );		
		
        // Send Header
        header('Access-Control-Allow-Origin: https://' . $_SERVER['SERVER_NAME'] );
        header('Content-Type: application/json; charset=utf-8');

        // Send JSON
        die(
            json_encode(
                array(
                    'updateTime' => $updateTime,
                    'electricRange' => $electricRange,
                    'chargingLevel' => $chargingLevel,
                    'chargingActive' => $chargingActive,
                    'chargingTimeRemaining' => $chargingTimeRemaining,
                    'stateOfCharge' => $stateOfCharge,
                    'stateOfChargeMax' => $stateOfChargeMax,
					'doorLockState' => $doorLockState,
					'mileage' => $mileage,		
					'chargingClock' => $chargingClock
                )
            )
        );
    }
2017-01-28_19h08_40.png
wobei ich gerade (20:05 28.1.2017) Wrong username/pwd als Fehlermeldung bekomme (auch via BMW Webportal)
Technikblog & Shop: http://www.elektrifiziert.net
PV 18,2kWp - BHKW EcoPower 1.0, 30kWh LiON Sunny Island System
BMW i3 60Ah (Verbrauch ca. 13,8kWh/100km; SW: I001-16-07-506)

Re: Habe mir eine WebApp für den Batterie-Status gebaut

USER_AVATAR
read
fridgeS3 hat geschrieben: ich habe mir mal Deinen Fork angesehen und kann einige deiner Info im Screen nicht in der php entdecken. Würdest du mir diese teilen?

Code: Alles auswählen

      $updateTime = $attributes->updateTime_converted;
        $electricRange = intval( $attributes->beRemainingRangeElectricKm );
        $chargingLevel = intval( $attributes->chargingLevelHv );
        $chargingActive = intval( $attributes->chargingSystemStatus === 'CHARGINGACTIVE' );

        $chargingTimeRemaining = intval( $attributes->chargingTimeRemaining );
		if($chargingTimeRemaining <> 0)
			{
			$chargingTimeFinished = time();
			$chargingTimeFinished = (date( 'H:i' , $chargingTimeFinished + $chargingTimeRemaining * 60 ) . ' Uhr');
        	$chargingTimeRemaining = ( $chargingTimeRemaining ? ( date( 'H:i', mktime( 0, $chargingTimeRemaining ) ) . ' Stunden' ) : '--:--' );
			}
		else 
			{
			$chargingTimeFinished = '--:--';
        	$chargingTimeRemaining = '--:--';
        	}
		
        $stateOfCharge = number_format( round( $attributes->soc, 2 ), 2, ',', '.');
        $stateOfChargeMax = number_format( round( $attributes->socMax, 2 ), 2, ',', '.');

        $carDoorLock = strval( $attributes->door_lock_state );
        if($carDoorLock == 'SECURED') 
        	{
        	$carDoorLock = 'Ja';
        	}
        else 
        	{
        	$carDoorLock = 'Nein';
        	}
        
        $carMileage = intval( $attributes->mileage );
In dem Teil wird alles abgerufen und teilweise aufbereitet. Die Uhrzeit des Ladeendes muss z.B. getechnet werden. Also aktuelle Uhrzeit + Zeit in Minuten bis fertig geladen. Geht sicherlich noch eleganter aber ich bin schon zufrieden, wenn es läuft ;-).
Anzeige
AntwortenAntworten

Zurück zu „i3 - Laden, Ladeequipment“

Gehe zu Profile
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag