# Testing im Modbus-Kontext

# Allgemein

Für den Fall, dass eine Modbus-Anfrage keine Aktion vom PowerDog erfordert (es müssen nur Daten gelesen wewerden), kann das Funktionieren meist einfach per Modbus-Poll getestett werden.

# Wechselrichter-Spezifisches

Ist für das Testen einer Lösung ein angeschlossener Wechselrichter nötig, der nur bei einem Kunden-SmartDog verfügbar ist, kann man wie folgt Testen:

1. Ip-Adresse des Kundengeräts in Erfahrung bringen (via PowerDog-Live Portal https://www.power-dog.eu/administrator/index.php?option=com_powerdog&view=powerdogs)
2. Version des Kunden-PowerDogs prüfen (via PowerDog-Live; muss ggf. aktualisiert werden)
3. Release-build machen (im QT-Creator von Debug auf Release umstellen und bauen)
4. Das Release-Binary (befindet sich im Projekt-Ordner unter build/smartdogQT4-Release/SmartDog) per save-copy auf das Kundengerät hochladen:  
    ```scp SmartDog root@<kunden-ip>:/SmartDog/SmartDog_new```
   
    In Zukunft für __Qt6+__:```scp SmartDog <ab>@<kunden-ip>:/tmp/SmartDog4_new```
5. ```ssh root@<kunden-ip>```  
   In Zukunft für __Qt6+__:```ssh <ab>@<kunden-ip>```
6. __Nur für Qt6+:__ ```sudo su```
7. ```cd /SmartDog```  
   In Zukunft für __Qt6+__:```cd /SmartDog4```
8. ```cp SmartDog SmartDog_old```  
   In Zukunft für __Qt6+__: ```cp SmartDog4 SmartDog4_old```
9. ```./pd_stop```
10. ```mv SmartDog_new SmartDog```  
  In Zukunft für __Qt6+__: ```mv /tmp/SmartDog4_new SmartDog4```
11. ```./pd_start.sh &```
12. Via SmartDog-Live auf das Kundengerät einloggen (https://www.power-dog.eu/administrator/index.php?option=com_powerdog&view=powerdogs) und Testen. (Am besten Debugging-Modul einschalten!)

__Hinweise__:
- ```pd_stop``` und ```pd_start.sh``` sind keine Schreibfehler!
- \<ab\> muss mit dem eigenen Kürzel ersetzt werden!

Sollte etwas nicht funktioniert haben kann das SmartDog-Binary wieder mit SmartDog_old überschrieben werden.