Great Job

You have done an amazing amount of work.   SolarThing pretty much worked "out of the box" for me on my Pi.   Little bit of confusion on my part, but overall very very well done.
Quick question.   I can see my data in couchdb and installed the graphql and basic config file.
solarthing@pisolar:/opt/solarthing/program/rover$ more config/application.properties
solarthing.config.database=../config/couchdb.json
Is there anything else I need to do?    Setting up the datasource in grafana gives me a "HTTP Response Undefined" message and I don't see anything listening on port 8080 like in your example.

Thanks. I'm glad to hear you got it running well.
The graphql config should be put in /opt/solarthing/program/graphql/config. You should also install the solarthing-graphql service by running /opt/solarthing/other/systemd/install.sh graphql. If you want to run it and see debug output, cd /opt/solarthing/program/graphql and run ./run.sh. That will download a separate jar file than the other programs use. If you get an error from running that, you can post the output here.
The documentation for GraphQL is probably the poorest of everything in SolarThing. I will eventually make it better.
To keep GraphQL running, you can start the service with sudo systemctl start solarthing-graphql and of course enable it on startup sudo systemctl enable solarthing-graphql, just like you would do with the rover program.

Thanks. I'm glad to hear you got it running well.
The graphql config should be put in /opt/solarthing/program/graphql/config. You should also install the solarthing-graphql service by running /opt/solarthing/other/systemd/install.sh graphql. If you want to run it and see debug output, cd /opt/solarthing/program/graphql and run ./run.sh. That will download a separate jar file than the other programs use. If you get an error from running that, you can post the output here.
The documentation for GraphQL is probably the poorest of everything in SolarThing. I will eventually make it better.
To keep GraphQL running, you can start the service with sudo systemctl start solarthing-graphql and of course enable it on startup sudo systemctl enable solarthing-graphql, just like you would do with the rover program.

I was hoping you would answer...
I think we travelled down the exact same route, but you did all the hard
work and I was just able to follow along a year later.   I have better
pictures of my cable setup, like you I had to make my own.
Do you have a sample query for grafana, I have the data source working
thanks to your help, but I am used to the dropdown working and guiding me
through the setup  (its been a while and I just used graphite).  I think
you could just send me a copy of your dashboard in json format if I
remember correctly.
Any plans on sending the raw data json via MQTT?    The reason I ask is
that my panels and pi are at two very remote locations that just happen to
have great internet due to having a mine nearby.   Would like to have each
one storing the data locally, and perhaps send the data to central system
so I could show both.
On Wed, Jan 27, 2021 at 12:28 PM Joshua Shannon<EMAIL_ADDRESS>wrote:

Thanks. I'm glad to hear you got it running well.
The graphql config should be put in
/opt/solarthing/program/graphql/config. You should also install the
solarthing-graphql service by running /opt/solarthing/other/systemd/install.sh
graphql. If you want to run it and see debug output, cd
/opt/solarthing/program/graphql and run ./run.sh. That will download a
separate jar file than the other programs use. If you get an error from
running that, you can post the output here.
The documentation for GraphQL is probably the poorest of everything in
SolarThing. I will eventually make it better.
To keep GraphQL running, you can start the service with sudo systemctl
start solarthing-graphql and of course enable it on startup sudo
systemctl enable solarthing-graphql, just like you would do with the
rover program.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/wildmountainfarms/solarthing/issues/17#issuecomment-768556282,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPPOTX5ABDDWG6TFWOQ3RTS4BZP7ANCNFSM4WV3MXDQ
.

I was hoping you would answer...
I think we travelled down the exact same route, but you did all the hard
work and I was just able to follow along a year later.   I have better
pictures of my cable setup, like you I had to make my own.
Do you have a sample query for grafana, I have the data source working
thanks to your help, but I am used to the dropdown working and guiding me
through the setup  (its been a while and I just used graphite).  I think
you could just send me a copy of your dashboard in json format if I
remember correctly.
Any plans on sending the raw data json via MQTT?    The reason I ask is
that my panels and pi are at two very remote locations that just happen to
have great internet due to having a mine nearby.   Would like to have each
one storing the data locally, and perhaps send the data to central system
so I could show both.
On Wed, Jan 27, 2021 at 12:28 PM Joshua Shannon<EMAIL_ADDRESS>wrote:

Thanks. I'm glad to hear you got it running well.
The graphql config should be put in
/opt/solarthing/program/graphql/config. You should also install the
solarthing-graphql service by running /opt/solarthing/other/systemd/install.sh
graphql. If you want to run it and see debug output, cd
/opt/solarthing/program/graphql and run ./run.sh. That will download a
separate jar file than the other programs use. If you get an error from
running that, you can post the output here.
The documentation for GraphQL is probably the poorest of everything in
SolarThing. I will eventually make it better.
To keep GraphQL running, you can start the service with sudo systemctl
start solarthing-graphql and of course enable it on startup sudo
systemctl enable solarthing-graphql, just like you would do with the
rover program.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/wildmountainfarms/solarthing/issues/17#issuecomment-768556282,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPPOTX5ABDDWG6TFWOQ3RTS4BZP7ANCNFSM4WV3MXDQ
.

Here's the raw json for a GraphQL dashboard I made a while back. This hasn't been updated in a while and I currently don't remote access to the system I help monitor, so I can't update it. https://github.com/wildmountainfarms/solarthing/blob/master/other/grafana/dashboards/solar_graphql_wildmountainfarms.json
Since you're just using a Rover, you'll probably want to remove a good chunk of that dashboard, as it won't apply to the rover.
I might think about sending the raw data via MQTT, it's just I don't see a huge advantage of it over CouchDB since CouchDB can sync to multiple databases if configured correct (it's a bit tricky to set up, but that's what I have going on right now).
The advantage of something like the GraphQL program is that it can do simple or complex queries and sum, or even integrate the data for useful calculations that wouldn't be possible with simple queries. If I did end up making a way to send MQTT data, when you query it on Grafana, you'd be messing with raw data rather than data that goes through the SolarThing GraphQL middleman, which is what happens now if you decide to use InfluxDB.
Also keep in mind that if you don't want to set up replication for CouchDB, you can always make SolarThing upload to two different databases at once.
Although I don't think MQTT support can be better than CouchDB support, I'll definitely think about supporting it because of how common it's becoming. I don't think it would be too difficult to implement anyway.

Here's the raw json for a GraphQL dashboard I made a while back. This hasn't been updated in a while and I currently don't remote access to the system I help monitor, so I can't update it. https://github.com/wildmountainfarms/solarthing/blob/master/other/grafana/dashboards/solar_graphql_wildmountainfarms.json
Since you're just using a Rover, you'll probably want to remove a good chunk of that dashboard, as it won't apply to the rover.
I might think about sending the raw data via MQTT, it's just I don't see a huge advantage of it over CouchDB since CouchDB can sync to multiple databases if configured correct (it's a bit tricky to set up, but that's what I have going on right now).
The advantage of something like the GraphQL program is that it can do simple or complex queries and sum, or even integrate the data for useful calculations that wouldn't be possible with simple queries. If I did end up making a way to send MQTT data, when you query it on Grafana, you'd be messing with raw data rather than data that goes through the SolarThing GraphQL middleman, which is what happens now if you decide to use InfluxDB.
Also keep in mind that if you don't want to set up replication for CouchDB, you can always make SolarThing upload to two different databases at once.
Although I don't think MQTT support can be better than CouchDB support, I'll definitely think about supporting it because of how common it's becoming. I don't think it would be too difficult to implement anyway.

I was thinking of just doing the couchdb replication.   It doesn't seem
that hard, but I already have a MQTT infrastructure.
That json (from looking at it) is just for influxdb.     Do you have a
sample query that works with GraphQL?    I understand you cannot get to the
actual system right now but I am at a bit of loss where to go.   I am used
to dropdowns working in grafana.  I think I have some more setup to do, but
not sure where to start.
On Wed, Jan 27, 2021 at 12:58 PM Joshua Shannon<EMAIL_ADDRESS>wrote:

Here's the raw json for a GraphQL dashboard I made a while back. This
hasn't been updated in a while and I currently don't remote access to the
system I help monitor, so I can't update it.
https://github.com/wildmountainfarms/solarthing/blob/master/other/grafana/dashboards/solar_graphql_wildmountainfarms.json
Since you're just using a Rover, you'll probably want to remove a good
chunk of that dashboard, as it won't apply to the rover.
I might think about sending the raw data via MQTT, it's just I don't see a
huge advantage of it over CouchDB since CouchDB can sync to multiple
databases if configured correct (it's a bit tricky to set up, but that's
what I have going on right now).
The advantage of something like the GraphQL program is that it can do
simple or complex queries and sum, or even integrate the data for useful
calculations that wouldn't be possible with simple queries. If I did end up
making a way to send MQTT data, when you query it on Grafana, you'd be
messing with raw data rather than data that goes through the SolarThing
GraphQL middleman, which is what happens now if you decide to use InfluxDB.
Also keep in mind that if you don't want to set up replication for
CouchDB, you can always make SolarThing upload to two different databases
at once.
Although I don't think MQTT support can be better than CouchDB support,
I'll definitely think about supporting it because of how common it's
becoming. I don't think it would be too difficult to implement anyway.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/wildmountainfarms/solarthing/issues/17#issuecomment-768572943,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPPOTWJQYH7234MONBA6G3S4B5AXANCNFSM4WV3MXDQ
.

I was thinking of just doing the couchdb replication.   It doesn't seem
that hard, but I already have a MQTT infrastructure.
That json (from looking at it) is just for influxdb.     Do you have a
sample query that works with GraphQL?    I understand you cannot get to the
actual system right now but I am at a bit of loss where to go.   I am used
to dropdowns working in grafana.  I think I have some more setup to do, but
not sure where to start.
On Wed, Jan 27, 2021 at 12:58 PM Joshua Shannon<EMAIL_ADDRESS>wrote:

Here's the raw json for a GraphQL dashboard I made a while back. This
hasn't been updated in a while and I currently don't remote access to the
system I help monitor, so I can't update it.
https://github.com/wildmountainfarms/solarthing/blob/master/other/grafana/dashboards/solar_graphql_wildmountainfarms.json
Since you're just using a Rover, you'll probably want to remove a good
chunk of that dashboard, as it won't apply to the rover.
I might think about sending the raw data via MQTT, it's just I don't see a
huge advantage of it over CouchDB since CouchDB can sync to multiple
databases if configured correct (it's a bit tricky to set up, but that's
what I have going on right now).
The advantage of something like the GraphQL program is that it can do
simple or complex queries and sum, or even integrate the data for useful
calculations that wouldn't be possible with simple queries. If I did end up
making a way to send MQTT data, when you query it on Grafana, you'd be
messing with raw data rather than data that goes through the SolarThing
GraphQL middleman, which is what happens now if you decide to use InfluxDB.
Also keep in mind that if you don't want to set up replication for
CouchDB, you can always make SolarThing upload to two different databases
at once.
Although I don't think MQTT support can be better than CouchDB support,
I'll definitely think about supporting it because of how common it's
becoming. I don't think it would be too difficult to implement anyway.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/wildmountainfarms/solarthing/issues/17#issuecomment-768572943,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPPOTWJQYH7234MONBA6G3S4B5AXANCNFSM4WV3MXDQ
.

I think grafana is telling me that it cannot show me the data schema if
that's a thing with couchdb...
On Wed, Jan 27, 2021 at 12:58 PM Joshua Shannon<EMAIL_ADDRESS>wrote:

Here's the raw json for a GraphQL dashboard I made a while back. This
hasn't been updated in a while and I currently don't remote access to the
system I help monitor, so I can't update it.
https://github.com/wildmountainfarms/solarthing/blob/master/other/grafana/dashboards/solar_graphql_wildmountainfarms.json
Since you're just using a Rover, you'll probably want to remove a good
chunk of that dashboard, as it won't apply to the rover.
I might think about sending the raw data via MQTT, it's just I don't see a
huge advantage of it over CouchDB since CouchDB can sync to multiple
databases if configured correct (it's a bit tricky to set up, but that's
what I have going on right now).
The advantage of something like the GraphQL program is that it can do
simple or complex queries and sum, or even integrate the data for useful
calculations that wouldn't be possible with simple queries. If I did end up
making a way to send MQTT data, when you query it on Grafana, you'd be
messing with raw data rather than data that goes through the SolarThing
GraphQL middleman, which is what happens now if you decide to use InfluxDB.
Also keep in mind that if you don't want to set up replication for
CouchDB, you can always make SolarThing upload to two different databases
at once.
Although I don't think MQTT support can be better than CouchDB support,
I'll definitely think about supporting it because of how common it's
becoming. I don't think it would be too difficult to implement anyway.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/wildmountainfarms/solarthing/issues/17#issuecomment-768572943,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPPOTWJQYH7234MONBA6G3S4B5AXANCNFSM4WV3MXDQ
.

I think grafana is telling me that it cannot show me the data schema if
that's a thing with couchdb...
On Wed, Jan 27, 2021 at 12:58 PM Joshua Shannon<EMAIL_ADDRESS>wrote:

Here's the raw json for a GraphQL dashboard I made a while back. This
hasn't been updated in a while and I currently don't remote access to the
system I help monitor, so I can't update it.
https://github.com/wildmountainfarms/solarthing/blob/master/other/grafana/dashboards/solar_graphql_wildmountainfarms.json
Since you're just using a Rover, you'll probably want to remove a good
chunk of that dashboard, as it won't apply to the rover.
I might think about sending the raw data via MQTT, it's just I don't see a
huge advantage of it over CouchDB since CouchDB can sync to multiple
databases if configured correct (it's a bit tricky to set up, but that's
what I have going on right now).
The advantage of something like the GraphQL program is that it can do
simple or complex queries and sum, or even integrate the data for useful
calculations that wouldn't be possible with simple queries. If I did end up
making a way to send MQTT data, when you query it on Grafana, you'd be
messing with raw data rather than data that goes through the SolarThing
GraphQL middleman, which is what happens now if you decide to use InfluxDB.
Also keep in mind that if you don't want to set up replication for
CouchDB, you can always make SolarThing upload to two different databases
at once.
Although I don't think MQTT support can be better than CouchDB support,
I'll definitely think about supporting it because of how common it's
becoming. I don't think it would be too difficult to implement anyway.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/wildmountainfarms/solarthing/issues/17#issuecomment-768572943,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPPOTWJQYH7234MONBA6G3S4B5AXANCNFSM4WV3MXDQ
.

Some of the queries are for InfluxDB, but most of the non-annotation queries are for GraphQL. Take the battery voltage query for example: https://github.com/wildmountainfarms/solarthing/blob/85dc5fd3e84daa697290e6b6703c98c747ce1666/other/grafana/dashboards/solar_graphql_wildmountainfarms.json#L147
You can read some of that JSON to see what you should make groupBy, dataPath, etc. With only one rover, groupBy isn't that important, but you need to make sure to get dataPath correct.
I don't recommend copying that dashboard entirely into your Grafana. Just copy the parts you want from it. Once I get remote access back, I'll try and create a snapshot of the dashboard and update the JSON. I think the snapshot would be useful to actually see what everything is for.

I think grafana is telling me that it cannot show me the data schema if that's a thing with couchdb...

That's probably something to do with GraphQL. I'm not really sure what that error message is. If you'd like you can show me a screenshot of where you're seeing that message.

Some of the queries are for InfluxDB, but most of the non-annotation queries are for GraphQL. Take the battery voltage query for example: https://github.com/wildmountainfarms/solarthing/blob/85dc5fd3e84daa697290e6b6703c98c747ce1666/other/grafana/dashboards/solar_graphql_wildmountainfarms.json#L147
You can read some of that JSON to see what you should make groupBy, dataPath, etc. With only one rover, groupBy isn't that important, but you need to make sure to get dataPath correct.
I don't recommend copying that dashboard entirely into your Grafana. Just copy the parts you want from it. Once I get remote access back, I'll try and create a snapshot of the dashboard and update the JSON. I think the snapshot would be useful to actually see what everything is for.

I think grafana is telling me that it cannot show me the data schema if that's a thing with couchdb...

That's probably something to do with GraphQL. I'm not really sure what that error message is. If you'd like you can show me a screenshot of where you're seeing that message.

I understand.   I just setup the pvoutput and that pretty much does what I
want.  I can modify things later,  however...
Something very odd is happening and even being a pretty experienced SA, I
am not sure why.   The rover program cannot open ttyUSB0.  It was working,
then tried to start it as a service and now.
solarthing@pisolar:~$ /opt/solarthing/program/rover/run.sh
Using base config = config/base.json
2021-01-29 08:57:58.043 [main] INFO
me.retrodaredevil.solarthing.program.SolarMain - [LOG] Beginning main.
Jar: solarthing-2021.1.1.jar Java version: <IP_ADDRESS>
[stdout] Beginning main. Jar: solarthing-2021.1.1.jar Java version: <IP_ADDRESS>
[stderr] Beginning main. Jar: solarthing-2021.1.1.jar Java version: <IP_ADDRESS>
Using legacy arguments! Please use --base instead! (If you are running this
using ./run.sh, this will be automatically fixed in a future update)
(ignore this).
2021-01-29 08:57:58.892 [main] INFO
me.retrodaredevil.solarthing.program.SolarMain - Using base configuration
file: config/base.json
2021-01-29 08:58:00.220 [main] INFO
me.retrodaredevil.solarthing.program.RoverMain - Beginning rover program
2021-01-29 08:58:00.239 [main] INFO
me.retrodaredevil.solarthing.analytics.AnalyticsManager - Google Analytics
is ENABLED!
2021-01-29 08:58:00.476 [main] DEBUG
me.retrodaredevil.solarthing.analytics.AnalyticsManager - Using Analytics
UUID: 091d2416-f095-4274-863f-8808781fd4dd
2021-01-29 08:58:04.268 [main] INFO
me.retrodaredevil.solarthing.analytics.AnalyticsManager - Sending program
type to Google Analytics
2021-01-29 08:58:04.622 [main] ERROR
me.retrodaredevil.solarthing.program.RoverMain - (Fatal)Got exception!
java.lang.RuntimeException:
me.retrodaredevil.io.serial.SerialPortException: Was unsuccessful while
trying to open port: ttyUSB0 descriptive name: User-Specified Port
description: User-Specified Port
at
me.retrodaredevil.solarthing.program.SolarMain.createIOBundle(SolarMain.java:153)
~[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.RoverMain.doRoverProgram(RoverMain.java:129)
[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.RoverMain.doRover(RoverMain.java:50)
[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.RoverMain.connectRover(RoverMain.java:102)
[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.SolarMain.doMainCommand(SolarMain.java:200)
[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.SolarMain.doMain(SolarMain.java:264)
[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.SolarMain.main(SolarMain.java:268)
[solarthing-2021.1.1.jar:?]
Caused by: me.retrodaredevil.io.serial.SerialPortException: Was
unsuccessful while trying to open port: ttyUSB0 descriptive name:
User-Specified Port description: User-Specified Port
at
me.retrodaredevil.io.serial.JSerialIOBundle.(JSerialIOBundle.java:22)
~[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.config.io.SerialIOConfig.createIOBundle(SerialIOConfig.java:46)
~[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.SolarMain.createIOBundle(SolarMain.java:151)
~[solarthing-2021.1.1.jar:?]
... 6 more
I checked groups, permissions on /dev/ttyUSB  tried to run it as root,
nothing works.   I didn't change any of the configuration files between it
working and not.  I can open the port and read the rover via a python
script.
if you happen to know where to look, let me know, otherwise I might just
start over and rebuild it.
On Thu, Jan 28, 2021 at 12:23 PM Joshua Shannon<EMAIL_ADDRESS>wrote:

It's not that the token is a big change, I think that's pretty easy to
use, but I think the cloud service you're talking about is using InfluxDB
2.0 instead of InfluxDB 1.X.
Someone else asked about InfluxDB 2.0 a little while back and their
solution was to just use InfluxDB 1.X: #12 (comment)
https://github.com/wildmountainfarms/solarthing/issues/12#issuecomment-737413912,
which isn't ideal, but supporting InfluxDB 2.0 isn't a huge priority for me
right now.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/wildmountainfarms/solarthing/issues/17#issuecomment-769360700,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPPOTWBZ5DXW3OQZ32NCITS4HBS5ANCNFSM4WV3MXDQ
.

I understand.   I just setup the pvoutput and that pretty much does what I
want.  I can modify things later,  however...
Something very odd is happening and even being a pretty experienced SA, I
am not sure why.   The rover program cannot open ttyUSB0.  It was working,
then tried to start it as a service and now.
solarthing@pisolar:~$ /opt/solarthing/program/rover/run.sh
Using base config = config/base.json
2021-01-29 08:57:58.043 [main] INFO
me.retrodaredevil.solarthing.program.SolarMain - [LOG] Beginning main.
Jar: solarthing-2021.1.1.jar Java version: <IP_ADDRESS>
[stdout] Beginning main. Jar: solarthing-2021.1.1.jar Java version: <IP_ADDRESS>
[stderr] Beginning main. Jar: solarthing-2021.1.1.jar Java version: <IP_ADDRESS>
Using legacy arguments! Please use --base instead! (If you are running this
using ./run.sh, this will be automatically fixed in a future update)
(ignore this).
2021-01-29 08:57:58.892 [main] INFO
me.retrodaredevil.solarthing.program.SolarMain - Using base configuration
file: config/base.json
2021-01-29 08:58:00.220 [main] INFO
me.retrodaredevil.solarthing.program.RoverMain - Beginning rover program
2021-01-29 08:58:00.239 [main] INFO
me.retrodaredevil.solarthing.analytics.AnalyticsManager - Google Analytics
is ENABLED!
2021-01-29 08:58:00.476 [main] DEBUG
me.retrodaredevil.solarthing.analytics.AnalyticsManager - Using Analytics
UUID: 091d2416-f095-4274-863f-8808781fd4dd
2021-01-29 08:58:04.268 [main] INFO
me.retrodaredevil.solarthing.analytics.AnalyticsManager - Sending program
type to Google Analytics
2021-01-29 08:58:04.622 [main] ERROR
me.retrodaredevil.solarthing.program.RoverMain - (Fatal)Got exception!
java.lang.RuntimeException:
me.retrodaredevil.io.serial.SerialPortException: Was unsuccessful while
trying to open port: ttyUSB0 descriptive name: User-Specified Port
description: User-Specified Port
at
me.retrodaredevil.solarthing.program.SolarMain.createIOBundle(SolarMain.java:153)
~[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.RoverMain.doRoverProgram(RoverMain.java:129)
[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.RoverMain.doRover(RoverMain.java:50)
[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.RoverMain.connectRover(RoverMain.java:102)
[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.SolarMain.doMainCommand(SolarMain.java:200)
[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.SolarMain.doMain(SolarMain.java:264)
[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.SolarMain.main(SolarMain.java:268)
[solarthing-2021.1.1.jar:?]
Caused by: me.retrodaredevil.io.serial.SerialPortException: Was
unsuccessful while trying to open port: ttyUSB0 descriptive name:
User-Specified Port description: User-Specified Port
at
me.retrodaredevil.io.serial.JSerialIOBundle.(JSerialIOBundle.java:22)
~[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.config.io.SerialIOConfig.createIOBundle(SerialIOConfig.java:46)
~[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.SolarMain.createIOBundle(SolarMain.java:151)
~[solarthing-2021.1.1.jar:?]
... 6 more
I checked groups, permissions on /dev/ttyUSB  tried to run it as root,
nothing works.   I didn't change any of the configuration files between it
working and not.  I can open the port and read the rover via a python
script.
if you happen to know where to look, let me know, otherwise I might just
start over and rebuild it.
On Thu, Jan 28, 2021 at 12:23 PM Joshua Shannon<EMAIL_ADDRESS>wrote:

It's not that the token is a big change, I think that's pretty easy to
use, but I think the cloud service you're talking about is using InfluxDB
2.0 instead of InfluxDB 1.X.
Someone else asked about InfluxDB 2.0 a little while back and their
solution was to just use InfluxDB 1.X: #12 (comment)
https://github.com/wildmountainfarms/solarthing/issues/12#issuecomment-737413912,
which isn't ideal, but supporting InfluxDB 2.0 isn't a huge priority for me
right now.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/wildmountainfarms/solarthing/issues/17#issuecomment-769360700,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPPOTWBZ5DXW3OQZ32NCITS4HBS5ANCNFSM4WV3MXDQ
.

That's really weird. I'll list some things for you to try first:

Make sure the systemd service is NOT running with (systemctl status solarthing-rover)

If it is, then stop it and try running it manually (you don't want two instances of SolarThing running)

Restart your pi (hopefully this fixes it)
Unplug your USB then plug it back in (even try another port)
Run sudo /opt/solarthing/other/linux/create_user.sh and try again by running as solarthing user
Try running as sudo again I guess

If none of these work, then maybe you could try starting over, but it's weird you can get it to work in Python, but not with SolarThing. If you still can't get it to work, I might go back to how I had it a few versions back where you could choose which serial implementation SolarThing used. I didn't think that was still necessary, but it might be useful to test out if you're getting an error like that.

That's really weird. I'll list some things for you to try first:

Make sure the systemd service is NOT running with (systemctl status solarthing-rover)

If it is, then stop it and try running it manually (you don't want two instances of SolarThing running)

Restart your pi (hopefully this fixes it)
Unplug your USB then plug it back in (even try another port)
Run sudo /opt/solarthing/other/linux/create_user.sh and try again by running as solarthing user
Try running as sudo again I guess

If none of these work, then maybe you could try starting over, but it's weird you can get it to work in Python, but not with SolarThing. If you still can't get it to work, I might go back to how I had it a few versions back where you could choose which serial implementation SolarThing used. I didn't think that was still necessary, but it might be useful to test out if you're getting an error like that.

Well, it's not solarthing.  I reloaded the Pi (I wanted to get rid of the
gui stuff anyway).   And copied back the whole solarthing config and it
worked just fine.   Odd...
On Fri, Jan 29, 2021 at 9:04 AM Kevin Smolkowski<EMAIL_ADDRESS>wrote:

I understand.   I just setup the pvoutput and that pretty much does what I
want.  I can modify things later,  however...
Something very odd is happening and even being a pretty experienced SA, I
am not sure why.   The rover program cannot open ttyUSB0.  It was working,
then tried to start it as a service and now.
solarthing@pisolar:~$ /opt/solarthing/program/rover/run.sh
Using base config = config/base.json
2021-01-29 08:57:58.043 [main] INFO
me.retrodaredevil.solarthing.program.SolarMain - [LOG] Beginning main.
Jar: solarthing-2021.1.1.jar Java version: <IP_ADDRESS>
[stdout] Beginning main. Jar: solarthing-2021.1.1.jar Java version:
<IP_ADDRESS>
[stderr] Beginning main. Jar: solarthing-2021.1.1.jar Java version:
<IP_ADDRESS>
Using legacy arguments! Please use --base instead! (If you are running
this using ./run.sh, this will be automatically fixed in a future update)
(ignore this).
2021-01-29 08:57:58.892 [main] INFO
me.retrodaredevil.solarthing.program.SolarMain - Using base configuration
file: config/base.json
2021-01-29 08:58:00.220 [main] INFO
me.retrodaredevil.solarthing.program.RoverMain - Beginning rover program
2021-01-29 08:58:00.239 [main] INFO
me.retrodaredevil.solarthing.analytics.AnalyticsManager - Google Analytics
is ENABLED!
2021-01-29 08:58:00.476 [main] DEBUG
me.retrodaredevil.solarthing.analytics.AnalyticsManager - Using Analytics
UUID: 091d2416-f095-4274-863f-8808781fd4dd
2021-01-29 08:58:04.268 [main] INFO
me.retrodaredevil.solarthing.analytics.AnalyticsManager - Sending program
type to Google Analytics
2021-01-29 08:58:04.622 [main] ERROR
me.retrodaredevil.solarthing.program.RoverMain - (Fatal)Got exception!
java.lang.RuntimeException:
me.retrodaredevil.io.serial.SerialPortException: Was unsuccessful while
trying to open port: ttyUSB0 descriptive name: User-Specified Port
description: User-Specified Port
at
me.retrodaredevil.solarthing.program.SolarMain.createIOBundle(SolarMain.java:153)
~[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.RoverMain.doRoverProgram(RoverMain.java:129)
[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.RoverMain.doRover(RoverMain.java:50)
[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.RoverMain.connectRover(RoverMain.java:102)
[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.SolarMain.doMainCommand(SolarMain.java:200)
[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.SolarMain.doMain(SolarMain.java:264)
[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.SolarMain.main(SolarMain.java:268)
[solarthing-2021.1.1.jar:?]
Caused by: me.retrodaredevil.io.serial.SerialPortException: Was
unsuccessful while trying to open port: ttyUSB0 descriptive name:
User-Specified Port description: User-Specified Port
at
me.retrodaredevil.io.serial.JSerialIOBundle.(JSerialIOBundle.java:22)
~[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.config.io.SerialIOConfig.createIOBundle(SerialIOConfig.java:46)
~[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.SolarMain.createIOBundle(SolarMain.java:151)
~[solarthing-2021.1.1.jar:?]
... 6 more
I checked groups, permissions on /dev/ttyUSB  tried to run it as root,
nothing works.   I didn't change any of the configuration files between it
working and not.  I can open the port and read the rover via a python
script.
if you happen to know where to look, let me know, otherwise I might
just start over and rebuild it.
On Thu, Jan 28, 2021 at 12:23 PM Joshua Shannon<EMAIL_ADDRESS>wrote:

It's not that the token is a big change, I think that's pretty easy to
use, but I think the cloud service you're talking about is using InfluxDB
2.0 instead of InfluxDB 1.X.
Someone else asked about InfluxDB 2.0 a little while back and their
solution was to just use InfluxDB 1.X: #12 (comment)
https://github.com/wildmountainfarms/solarthing/issues/12#issuecomment-737413912,
which isn't ideal, but supporting InfluxDB 2.0 isn't a huge priority for me
right now.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/wildmountainfarms/solarthing/issues/17#issuecomment-769360700,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPPOTWBZ5DXW3OQZ32NCITS4HBS5ANCNFSM4WV3MXDQ
.

Well, it's not solarthing.  I reloaded the Pi (I wanted to get rid of the
gui stuff anyway).   And copied back the whole solarthing config and it
worked just fine.   Odd...
On Fri, Jan 29, 2021 at 9:04 AM Kevin Smolkowski<EMAIL_ADDRESS>wrote:

I understand.   I just setup the pvoutput and that pretty much does what I
want.  I can modify things later,  however...
Something very odd is happening and even being a pretty experienced SA, I
am not sure why.   The rover program cannot open ttyUSB0.  It was working,
then tried to start it as a service and now.
solarthing@pisolar:~$ /opt/solarthing/program/rover/run.sh
Using base config = config/base.json
2021-01-29 08:57:58.043 [main] INFO
me.retrodaredevil.solarthing.program.SolarMain - [LOG] Beginning main.
Jar: solarthing-2021.1.1.jar Java version: <IP_ADDRESS>
[stdout] Beginning main. Jar: solarthing-2021.1.1.jar Java version:
<IP_ADDRESS>
[stderr] Beginning main. Jar: solarthing-2021.1.1.jar Java version:
<IP_ADDRESS>
Using legacy arguments! Please use --base instead! (If you are running
this using ./run.sh, this will be automatically fixed in a future update)
(ignore this).
2021-01-29 08:57:58.892 [main] INFO
me.retrodaredevil.solarthing.program.SolarMain - Using base configuration
file: config/base.json
2021-01-29 08:58:00.220 [main] INFO
me.retrodaredevil.solarthing.program.RoverMain - Beginning rover program
2021-01-29 08:58:00.239 [main] INFO
me.retrodaredevil.solarthing.analytics.AnalyticsManager - Google Analytics
is ENABLED!
2021-01-29 08:58:00.476 [main] DEBUG
me.retrodaredevil.solarthing.analytics.AnalyticsManager - Using Analytics
UUID: 091d2416-f095-4274-863f-8808781fd4dd
2021-01-29 08:58:04.268 [main] INFO
me.retrodaredevil.solarthing.analytics.AnalyticsManager - Sending program
type to Google Analytics
2021-01-29 08:58:04.622 [main] ERROR
me.retrodaredevil.solarthing.program.RoverMain - (Fatal)Got exception!
java.lang.RuntimeException:
me.retrodaredevil.io.serial.SerialPortException: Was unsuccessful while
trying to open port: ttyUSB0 descriptive name: User-Specified Port
description: User-Specified Port
at
me.retrodaredevil.solarthing.program.SolarMain.createIOBundle(SolarMain.java:153)
~[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.RoverMain.doRoverProgram(RoverMain.java:129)
[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.RoverMain.doRover(RoverMain.java:50)
[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.RoverMain.connectRover(RoverMain.java:102)
[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.SolarMain.doMainCommand(SolarMain.java:200)
[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.SolarMain.doMain(SolarMain.java:264)
[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.SolarMain.main(SolarMain.java:268)
[solarthing-2021.1.1.jar:?]
Caused by: me.retrodaredevil.io.serial.SerialPortException: Was
unsuccessful while trying to open port: ttyUSB0 descriptive name:
User-Specified Port description: User-Specified Port
at
me.retrodaredevil.io.serial.JSerialIOBundle.(JSerialIOBundle.java:22)
~[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.config.io.SerialIOConfig.createIOBundle(SerialIOConfig.java:46)
~[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.SolarMain.createIOBundle(SolarMain.java:151)
~[solarthing-2021.1.1.jar:?]
... 6 more
I checked groups, permissions on /dev/ttyUSB  tried to run it as root,
nothing works.   I didn't change any of the configuration files between it
working and not.  I can open the port and read the rover via a python
script.
if you happen to know where to look, let me know, otherwise I might
just start over and rebuild it.
On Thu, Jan 28, 2021 at 12:23 PM Joshua Shannon<EMAIL_ADDRESS>wrote:

It's not that the token is a big change, I think that's pretty easy to
use, but I think the cloud service you're talking about is using InfluxDB
2.0 instead of InfluxDB 1.X.
Someone else asked about InfluxDB 2.0 a little while back and their
solution was to just use InfluxDB 1.X: #12 (comment)
https://github.com/wildmountainfarms/solarthing/issues/12#issuecomment-737413912,
which isn't ideal, but supporting InfluxDB 2.0 isn't a huge priority for me
right now.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/wildmountainfarms/solarthing/issues/17#issuecomment-769360700,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPPOTWBZ5DXW3OQZ32NCITS4HBS5ANCNFSM4WV3MXDQ
.

It sounds to me like you were running two instances of SolarThing. If you get an error like that again, it's probably because another program is using the serial port. Only one program can use the serial port at one time. However, it's very weird you were able to use a Python program to interact with the serial port, so maybe it isn't the case you were running two instances of SolarThing.

It sounds to me like you were running two instances of SolarThing. If you get an error like that again, it's probably because another program is using the serial port. Only one program can use the serial port at one time. However, it's very weird you were able to use a Python program to interact with the serial port, so maybe it isn't the case you were running two instances of SolarThing.

Thought I'd give an update that versions 2021.1.2 and onward will support InfluxDB 2.0, but you can't migrate from InfluxDB 1.X, so if you're using 1.X, you don't have to upgrade.
Is SolarThing working well for you now? If it is feel free to close this issue.

I thought I would try out the influxdb2 options and I did a git pull and
added the config file, but I got this.   Is there something else I need to
do to install the latest version?
Caused by: com.fasterxml.jackson.databind.exc.InvalidTypeIdException: Could
not resolve type id 'influxdb2' as a subtype of
me.retrodaredevil.solarthing.config.databases.DatabaseSettings: known
type ids = [couc
hdb, influxdb, latest, post] (for POJO property 'config')
at [Source: (FileInputStream); line: 7, column: 5]
at
com.fasterxml.jackson.databind.exc.InvalidTypeIdException.from(InvalidTypeIdException.java:43)
~[solarthing-2021.1.1.jar:?]
at
com.fasterxml.jackson.databind.DeserializationContext.invalidTypeIdException(DeserializationContext.java:1935)
~[solarthing-2021.1.1.jar:?]
at
com.fasterxml.jackson.databind.DeserializationContext.handleUnknownTypeId(DeserializationContext.java:1426)
~[solarthing-2021.1.1.jar:?]
at
com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase._handleUnknownTypeId(TypeDeserializerBase.java:298)
~[solarthing-2021.1.1.jar:?]
at
com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase._findDeserializer(TypeDeserializerBase.java:165)
~[solarthing-2021.1.1.jar:?]
at
com.fasterxml.jackson.databind.jsontype.impl.AsArrayTypeDeserializer._deserialize(AsArrayTypeDeserializer.java:97)
~[solarthing-2021.1.1.jar:?]
at
com.fasterxml.jackson.databind.jsontype.impl.AsArrayTypeDeserializer.deserializeTypedFromObject(AsArrayTypeDeserializer.java:61)
~[solarthing-2021.1.1.jar:?]
at
com.fasterxml.jackson.databind.deser.AbstractDeserializer.deserializeWithType(AbstractDeserializer.java:263)
~[solarthing-2021.1.1.jar:?]
at
com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:147)
~[solarthing-2021.1.1.jar:?]
at
com.fasterxml.jackson.databind.deser.impl.ExternalTypeHandler._deserializeAndSet(ExternalTypeHandler.java:382)
~[solarthing-2021.1.1.jar:?]
at
com.fasterxml.jackson.databind.deser.impl.ExternalTypeHandler.handlePropertyValue(ExternalTypeHandler.java:191)
~[solarthing-2021.1.1.jar:?]
at
com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeWithExternalTypeId(BeanDeserializer.java:979)
~[solarthing-2021.1.1.jar:?]
at
com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeWithExternalTypeId(BeanDeserializer.java:943)
~[solarthing-2021.1.1.jar:?]
at
com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:360)
~[solarthing-2021.1.1.jar:?]
at
com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:195)
~[solarthing-2021.1.1.jar:?]
at
com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:322)
~[solarthing-2021.1.1.jar:?]
at
com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4591)
~[solarthing-2021.1.1.jar:?]
at
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3583)
~[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.SolarMain.getDatabaseConfig(SolarMain.java:126)
~[solarthing-2021.1.1.jar:?]
On Fri, Jan 29, 2021 at 9:04 AM Kevin Smolkowski<EMAIL_ADDRESS>wrote:

I understand.   I just setup the pvoutput and that pretty much does what I
want.  I can modify things later,  however...
Something very odd is happening and even being a pretty experienced SA, I
am not sure why.   The rover program cannot open ttyUSB0.  It was working,
then tried to start it as a service and now.
solarthing@pisolar:~$ /opt/solarthing/program/rover/run.sh
Using base config = config/base.json
2021-01-29 08:57:58.043 [main] INFO
me.retrodaredevil.solarthing.program.SolarMain - [LOG] Beginning main.
Jar: solarthing-2021.1.1.jar Java version: <IP_ADDRESS>
[stdout] Beginning main. Jar: solarthing-2021.1.1.jar Java version:
<IP_ADDRESS>
[stderr] Beginning main. Jar: solarthing-2021.1.1.jar Java version:
<IP_ADDRESS>
Using legacy arguments! Please use --base instead! (If you are running
this using ./run.sh, this will be automatically fixed in a future update)
(ignore this).
2021-01-29 08:57:58.892 [main] INFO
me.retrodaredevil.solarthing.program.SolarMain - Using base configuration
file: config/base.json
2021-01-29 08:58:00.220 [main] INFO
me.retrodaredevil.solarthing.program.RoverMain - Beginning rover program
2021-01-29 08:58:00.239 [main] INFO
me.retrodaredevil.solarthing.analytics.AnalyticsManager - Google Analytics
is ENABLED!
2021-01-29 08:58:00.476 [main] DEBUG
me.retrodaredevil.solarthing.analytics.AnalyticsManager - Using Analytics
UUID: 091d2416-f095-4274-863f-8808781fd4dd
2021-01-29 08:58:04.268 [main] INFO
me.retrodaredevil.solarthing.analytics.AnalyticsManager - Sending program
type to Google Analytics
2021-01-29 08:58:04.622 [main] ERROR
me.retrodaredevil.solarthing.program.RoverMain - (Fatal)Got exception!
java.lang.RuntimeException:
me.retrodaredevil.io.serial.SerialPortException: Was unsuccessful while
trying to open port: ttyUSB0 descriptive name: User-Specified Port
description: User-Specified Port
at
me.retrodaredevil.solarthing.program.SolarMain.createIOBundle(SolarMain.java:153)
~[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.RoverMain.doRoverProgram(RoverMain.java:129)
[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.RoverMain.doRover(RoverMain.java:50)
[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.RoverMain.connectRover(RoverMain.java:102)
[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.SolarMain.doMainCommand(SolarMain.java:200)
[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.SolarMain.doMain(SolarMain.java:264)
[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.SolarMain.main(SolarMain.java:268)
[solarthing-2021.1.1.jar:?]
Caused by: me.retrodaredevil.io.serial.SerialPortException: Was
unsuccessful while trying to open port: ttyUSB0 descriptive name:
User-Specified Port description: User-Specified Port
at
me.retrodaredevil.io.serial.JSerialIOBundle.(JSerialIOBundle.java:22)
~[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.config.io.SerialIOConfig.createIOBundle(SerialIOConfig.java:46)
~[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.SolarMain.createIOBundle(SolarMain.java:151)
~[solarthing-2021.1.1.jar:?]
... 6 more
I checked groups, permissions on /dev/ttyUSB  tried to run it as root,
nothing works.   I didn't change any of the configuration files between it
working and not.  I can open the port and read the rover via a python
script.
if you happen to know where to look, let me know, otherwise I might
just start over and rebuild it.
On Thu, Jan 28, 2021 at 12:23 PM Joshua Shannon<EMAIL_ADDRESS>wrote:

It's not that the token is a big change, I think that's pretty easy to
use, but I think the cloud service you're talking about is using InfluxDB
2.0 instead of InfluxDB 1.X.
Someone else asked about InfluxDB 2.0 a little while back and their
solution was to just use InfluxDB 1.X: #12 (comment)
https://github.com/wildmountainfarms/solarthing/issues/12#issuecomment-737413912,
which isn't ideal, but supporting InfluxDB 2.0 isn't a huge priority for me
right now.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/wildmountainfarms/solarthing/issues/17#issuecomment-769360700,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPPOTWBZ5DXW3OQZ32NCITS4HBS5ANCNFSM4WV3MXDQ
.

Yes. You need to run program/download_solarthing.sh. https://github.com/wildmountainfarms/solarthing/blob/master/other/docs/updating.md

I figured it out.  I manually downloaded the latest version from .download
and am running that.   Works great.  My data is flowing into a local
influx2 database that I setup.   Haven't tried the cloud yet.
I'd be happy to help with the documentation if you like.   Maybe offer a
different perspective?    Less programmer, more system admin?
On Mon, Feb 1, 2021 at 5:03 PM Kevin Smolkowski<EMAIL_ADDRESS>wrote:

I thought I would try out the influxdb2 options and I did a git pull and
added the config file, but I got this.   Is there something else I need to
do to install the latest version?
Caused by: com.fasterxml.jackson.databind.exc.InvalidTypeIdException:
Could not resolve type id 'influxdb2' as a subtype of
me.retrodaredevil.solarthing.config.databases.DatabaseSettings: known
type ids = [couc
hdb, influxdb, latest, post] (for POJO property 'config')
at [Source: (FileInputStream); line: 7, column: 5]
at
com.fasterxml.jackson.databind.exc.InvalidTypeIdException.from(InvalidTypeIdException.java:43)
~[solarthing-2021.1.1.jar:?]
at
com.fasterxml.jackson.databind.DeserializationContext.invalidTypeIdException(DeserializationContext.java:1935)
~[solarthing-2021.1.1.jar:?]
at
com.fasterxml.jackson.databind.DeserializationContext.handleUnknownTypeId(DeserializationContext.java:1426)
~[solarthing-2021.1.1.jar:?]
at
com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase._handleUnknownTypeId(TypeDeserializerBase.java:298)
~[solarthing-2021.1.1.jar:?]
at
com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase._findDeserializer(TypeDeserializerBase.java:165)
~[solarthing-2021.1.1.jar:?]
at
com.fasterxml.jackson.databind.jsontype.impl.AsArrayTypeDeserializer._deserialize(AsArrayTypeDeserializer.java:97)
~[solarthing-2021.1.1.jar:?]
at
com.fasterxml.jackson.databind.jsontype.impl.AsArrayTypeDeserializer.deserializeTypedFromObject(AsArrayTypeDeserializer.java:61)
~[solarthing-2021.1.1.jar:?]
at
com.fasterxml.jackson.databind.deser.AbstractDeserializer.deserializeWithType(AbstractDeserializer.java:263)
~[solarthing-2021.1.1.jar:?]
at
com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:147)
~[solarthing-2021.1.1.jar:?]
at
com.fasterxml.jackson.databind.deser.impl.ExternalTypeHandler._deserializeAndSet(ExternalTypeHandler.java:382)
~[solarthing-2021.1.1.jar:?]
at
com.fasterxml.jackson.databind.deser.impl.ExternalTypeHandler.handlePropertyValue(ExternalTypeHandler.java:191)
~[solarthing-2021.1.1.jar:?]
at
com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeWithExternalTypeId(BeanDeserializer.java:979)
~[solarthing-2021.1.1.jar:?]
at
com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeWithExternalTypeId(BeanDeserializer.java:943)
~[solarthing-2021.1.1.jar:?]
at
com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:360)
~[solarthing-2021.1.1.jar:?]
at
com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:195)
~[solarthing-2021.1.1.jar:?]
at
com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:322)
~[solarthing-2021.1.1.jar:?]
at
com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4591)
~[solarthing-2021.1.1.jar:?]
at
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3583)
~[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.SolarMain.getDatabaseConfig(SolarMain.java:126)
~[solarthing-2021.1.1.jar:?]
On Fri, Jan 29, 2021 at 9:04 AM Kevin Smolkowski<EMAIL_ADDRESS>wrote:

I understand.   I just setup the pvoutput and that pretty much does what
I want.  I can modify things later,  however...
Something very odd is happening and even being a pretty experienced SA, I
am not sure why.   The rover program cannot open ttyUSB0.  It was working,
then tried to start it as a service and now.
solarthing@pisolar:~$ /opt/solarthing/program/rover/run.sh
Using base config = config/base.json
2021-01-29 08:57:58.043 [main] INFO
me.retrodaredevil.solarthing.program.SolarMain - [LOG] Beginning main.
Jar: solarthing-2021.1.1.jar Java version: <IP_ADDRESS>
[stdout] Beginning main. Jar: solarthing-2021.1.1.jar Java version:
<IP_ADDRESS>
[stderr] Beginning main. Jar: solarthing-2021.1.1.jar Java version:
<IP_ADDRESS>
Using legacy arguments! Please use --base instead! (If you are running
this using ./run.sh, this will be automatically fixed in a future update)
(ignore this).
2021-01-29 08:57:58.892 [main] INFO
me.retrodaredevil.solarthing.program.SolarMain - Using base configuration
file: config/base.json
2021-01-29 08:58:00.220 [main] INFO
me.retrodaredevil.solarthing.program.RoverMain - Beginning rover program
2021-01-29 08:58:00.239 [main] INFO
me.retrodaredevil.solarthing.analytics.AnalyticsManager - Google Analytics
is ENABLED!
2021-01-29 08:58:00.476 [main] DEBUG
me.retrodaredevil.solarthing.analytics.AnalyticsManager - Using Analytics
UUID: 091d2416-f095-4274-863f-8808781fd4dd
2021-01-29 08:58:04.268 [main] INFO
me.retrodaredevil.solarthing.analytics.AnalyticsManager - Sending program
type to Google Analytics
2021-01-29 08:58:04.622 [main] ERROR
me.retrodaredevil.solarthing.program.RoverMain - (Fatal)Got exception!
java.lang.RuntimeException:
me.retrodaredevil.io.serial.SerialPortException: Was unsuccessful while
trying to open port: ttyUSB0 descriptive name: User-Specified Port
description: User-Specified Port
at
me.retrodaredevil.solarthing.program.SolarMain.createIOBundle(SolarMain.java:153)
~[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.RoverMain.doRoverProgram(RoverMain.java:129)
[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.RoverMain.doRover(RoverMain.java:50)
[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.RoverMain.connectRover(RoverMain.java:102)
[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.SolarMain.doMainCommand(SolarMain.java:200)
[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.SolarMain.doMain(SolarMain.java:264)
[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.SolarMain.main(SolarMain.java:268)
[solarthing-2021.1.1.jar:?]
Caused by: me.retrodaredevil.io.serial.SerialPortException: Was
unsuccessful while trying to open port: ttyUSB0 descriptive name:
User-Specified Port description: User-Specified Port
at
me.retrodaredevil.io.serial.JSerialIOBundle.(JSerialIOBundle.java:22)
~[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.config.io.SerialIOConfig.createIOBundle(SerialIOConfig.java:46)
~[solarthing-2021.1.1.jar:?]
at
me.retrodaredevil.solarthing.program.SolarMain.createIOBundle(SolarMain.java:151)
~[solarthing-2021.1.1.jar:?]
... 6 more
I checked groups, permissions on /dev/ttyUSB  tried to run it as root,
nothing works.   I didn't change any of the configuration files between it
working and not.  I can open the port and read the rover via a python
script.
if you happen to know where to look, let me know, otherwise I might
just start over and rebuild it.
On Thu, Jan 28, 2021 at 12:23 PM Joshua Shannon<EMAIL_ADDRESS>wrote:

It's not that the token is a big change, I think that's pretty easy to
use, but I think the cloud service you're talking about is using InfluxDB
2.0 instead of InfluxDB 1.X.
Someone else asked about InfluxDB 2.0 a little while back and their
solution was to just use InfluxDB 1.X: #12 (comment)
https://github.com/wildmountainfarms/solarthing/issues/12#issuecomment-737413912,
which isn't ideal, but supporting InfluxDB 2.0 isn't a huge priority for me
right now.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/wildmountainfarms/solarthing/issues/17#issuecomment-769360700,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPPOTWBZ5DXW3OQZ32NCITS4HBS5ANCNFSM4WV3MXDQ
.

Yeah. If you'd like to help on the documentation that'd be great. A different perspective would be really helpful.
Feel free to create a pull request and I'll review it. Just make sure to keep all the docs in the other/docs folder if you end up adding new files.

solarthing is just cruising along, working great.    I am thinking of
adding a couple of these RS485 modules you can get cheaply from AliExpress
or EBay.   They all seem to be made by PeaceFair and do all sorts of
measurements..   Here is the PAEM-003 current sensor.
https://www.aliexpress.com/item/32912901621.html.   I bought mine of EBay
and it seems to work pretty well.
I tried digging through your code to see where you read the packets but I
wasn't able to grasp how you did it.   Are you leveraging ModBus or just
reading it directly?
If I bought you a couple of these, would you add them to solarthing?   I'd
be happy to do that, easier than reverse engineering it.  :)

I might consider adding support for PAEM-003. It looks very simple to setup and read from. It looks like there's also a pdf file for it here: https://github.com/SN-8023/PZEM-017-003-Change-Address/blob/master/PZEM-003_017.pdf
If you want me to try and add something to SolarThing for the PAEM-003, I can do it since it doesn't look like much work and you'll be the one testing it. I might get around to adding it sometime in the next week. There are also plenty of other repos on GitHub which can do this, but my guess is that none of them integrate too nicely with Grafana. Maybe there's one that uploads to InfluxDB.
I am using Modbus to read from the Rover. here is where I read and here is where I request and add rover packets to the packet list.
Also, I'd recommend waiting for me to actually write the code that will request from these and once I get around to doing that, then maybe only buy one to test with, just to make sure it works as you'd expect before going all in.

I'd love it if you could add it.  Since you already do modbus and I would
think it would not be too hard.   Part of my logic is that why not have one
easy to use product that does it all and I don't have dozen things running
and talking to my devices.
On Thu, Feb 18, 2021 at 12:21 PM Joshua Shannon<EMAIL_ADDRESS>wrote:

I might consider adding support for PAEM-003. It looks very simple to
setup and read from. It looks like there's also a pdf file for it here:
https://github.com/SN-8023/PZEM-017-003-Change-Address/blob/master/PZEM-003_017.pdf
If you want me to try and add something to SolarThing for the PAEM-003, I
can do it since it doesn't look like much work and you'll be the one
testing it. I might get around to adding it sometime in the next week.
There are also plenty of other repos on GitHub which can do this, but my
guess is that none of them integrate too nicely with Grafana. Maybe there's
one that uploads to InfluxDB.
I am using Modbus to read from the Rover. here
https://github.com/wildmountainfarms/solarthing/blob/master/core/src/main/java/me/retrodaredevil/solarthing/solar/renogy/rover/modbus/RoverModbusSlaveRead.java
is where I read and here
https://github.com/wildmountainfarms/solarthing/blob/master/client/src/main/java/me/retrodaredevil/solarthing/program/RoverPacketListUpdater.java
is where I request and add rover packets to the packet list.
Also, I'd recommend waiting for me to actually write the code that will
request from these and once I get around to doing that, then maybe only buy
one to test with, just to make sure it works as you'd expect before going
all in.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/wildmountainfarms/solarthing/issues/17#issuecomment-781611329,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPPOTVGHBKHV5XCKZOMAN3S7VZGDANCNFSM4WV3MXDQ
.

Alright it took me less time than I thought. I was pretty bored yesterday.
You can add this to your rover program's config:
  "request": [
    {
      "type": "pzem",
      "io": "../../config_templates/io/standard_io.json",
      "data_id": 1,
      "modbus": 1
    }
  ],

And of course replace io with the configuration to your serial port file.

I love it when you are bored.   Will test it out this evening!
Once I "comprehended" modbus, it makes things easy.   I ended up writing a
small test harness and that really helped see what was happening.   That
and looking at your code..
I am still pondering updates to the docs.   Was thinking of the quickstart
and how it's kinda confusing as there are a lot of options.    People want
to make it work first, then explore all  the features.    The quickstart
guide could just be some defaults to make this work quick and easy, then
here are all the other cool things.
On Fri, Feb 19, 2021 at 8:15 AM Joshua Shannon<EMAIL_ADDRESS>wrote:

Alright it took me less time than I thought. I was pretty bored yesterday.
You can add this to your rover program's config:
"request": [
{
"type": "pzem",
"io": "../../config_templates/io/standard_io.json",
"data_id": 1,
"modbus": 1
}
],
And of course replace io with the configuration to your serial port file.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/wildmountainfarms/solarthing/issues/17#issuecomment-782176552,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPPOTWW7CTBBFG4FDOAS5DS72FBTANCNFSM4WV3MXDQ
.

Once you confirm it works as expected, I can add it to the GraphQL program.

Was thinking of the quickstart and how it's kinda confusing as there are a lot of options

That's very true. It probably only needs a reference to CouchDB. And I can probably remove some of the program options that are for after you set up the rover or mate program. Also I have yet to have someone actually use the mate program, so maybe I'll remove that too.

I can see it talking to the PZEM and it responding.   I get this error.
2021-02-19 10:16:53.803 [main] ERROR
me.retrodaredevil.solarthing.program.PzemShuntPacketListUpdater - Modbus
exception
me.retrodaredevil.io.modbus.handling.ErrorCodeException: Expected to get 3
as the function code, but actually got 131. With exception code 2
at
me.retrodaredevil.io.modbus.handling.HandleResponseHelper.checkResponse(HandleResponseHelper.java:17)
~[solarthing-2021.3.0.jar:?]
at
me.retrodaredevil.io.modbus.handling.ReadHoldingRegisters.handleResponse(ReadHoldingRegisters.java:61)
~[solarthing-2021.3.0.jar:?]
at
me.retrodaredevil.io.modbus.handling.ReadHoldingRegisters.handleResponse(ReadHoldingRegisters.java:13)
~[solarthing-2021.3.0.jar:?]
at
me.retrodaredevil.io.modbus.ModbusSlave.sendRequestMessage(ModbusSlave.java:25)
~[solarthing-2021.3.0.jar:?]
at
me.retrodaredevil.solarthing.solar.pzem.modbus.PzemShuntModbusSlaveRead.getEnergyValueRaw(PzemShuntModbusSlaveRead.java:41)
~[solarthing-2021.3.0.jar:?]
at
me.retrodaredevil.solarthing.solar.pzem.ImmutablePzemShuntStatusPacket.createFromReadTable(ImmutablePzemShuntStatusPacket.java:36)
~[solarthing-2021.3.0.jar:?]
at
me.retrodaredevil.solarthing.program.PzemShuntPacketListUpdater.receive(PzemShuntPacketListUpdater.java:31)
~[solarthing-2021.3.0.jar:?]
at
me.retrodaredevil.solarthing.packets.handling.PacketListReceiverMultiplexer.receive(PacketListReceiverMultiplexer.java:21)
~[solarthing-2021.3.0.jar:?]
at
me.retrodaredevil.solarthing.program.RequestMain.startRequestProgram(RequestMain.java:111)
~[solarthing-2021.3.0.jar:?]
at
me.retrodaredevil.solarthing.program.RoverMain.lambda$doRover$2(RoverMain.java:83)
~[solarthing-2021.3.0.jar:?]
at
me.retrodaredevil.solarthing.program.RoverMain.doRoverProgram(RoverMain.java:127)
[solarthing-2021.3.0.jar:?]
at
me.retrodaredevil.solarthing.program.RoverMain.doRover(RoverMain.java:51)
[solarthing-2021.3.0.jar:?]
at
me.retrodaredevil.solarthing.program.RoverMain.connectRover(RoverMain.java:103)
[solarthing-2021.3.0.jar:?]
at
me.retrodaredevil.solarthing.program.SolarMain.doMainCommand(SolarMain.java:204)
[solarthing-2021.3.0.jar:?]
at
me.retrodaredevil.solarthing.program.SolarMain.doMain(SolarMain.java:244)
[solarthing-2021.3.0.jar:?]
at
me.retrodaredevil.solarthing.program.SolarMain.main(SolarMain.java:272)
[solarthing-2021.3.0.jar:?]
My config is below.   The PZEM is at address 0x02 and the data starts at
0.    The command to read the 8 registers is 0x04.   I should just look at
the code and see what maps where but I have to get back to work. :)
I assume we are looking at the same datasheet.
http://myosuploads3.banggood.com/products/20190723/20190723213410PZEM-003017UserManual.pdf
Section 2.3
{
"type": "rover",
"source": "default",
"fragment": 2,
"unique": 30,
"databases": [
"config/couchdb.json",
"config/influxdb2.json"
],
"request": [
{
"type": "pzem",
"io": "config/pzem.io.json",
"data_id": 0,
"modbus": 2
}
],
"dummy": "test/dummy_rover.json",
"modbus": 1
}
On Fri, Feb 19, 2021 at 8:15 AM Joshua Shannon<EMAIL_ADDRESS>wrote:

Alright it took me less time than I thought. I was pretty bored yesterday.
You can add this to your rover program's config:
"request": [
{
"type": "pzem",
"io": "../../config_templates/io/standard_io.json",
"data_id": 1,
"modbus": 1
}
],
And of course replace io with the configuration to your serial port file.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/wildmountainfarms/solarthing/issues/17#issuecomment-782176552,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPPOTWW7CTBBFG4FDOAS5DS72FBTANCNFSM4WV3MXDQ
.

That's really weird that there's an "illegal address" error when trying to get energy data. I'll have to think of what the best option is here...

 Then try running that.
I don't want to make another release for this since I don't know if it works yet.

Took a bit to compile.
root@pisolar2:/opt/solarthing/program/rover# ./run.sh
Using base config = config/base.json
2021-02-19 13:07:58.478 [main] INFO
me.retrodaredevil.solarthing.program.SolarMain - [LOG] Beginning main.
Jar: solarthing-SNAPSHOT.jar Java version: <IP_ADDRESS>
[stdout] Beginning main. Jar: solarthing-SNAPSHOT.jar Java version: <IP_ADDRESS>
[stderr] Beginning main. Jar: solarthing-SNAPSHOT.jar Java version: <IP_ADDRESS>
2021-02-19 13:07:59.404 [main] INFO
me.retrodaredevil.solarthing.program.SolarMain - Using base configuration
file: config/base.json
2021-02-19 13:08:00.880 [main] INFO
me.retrodaredevil.solarthing.program.RoverMain - Beginning rover program
2021-02-19 13:08:00.899 [main] INFO
me.retrodaredevil.solarthing.analytics.AnalyticsManager - Google Analytics
is ENABLED!
2021-02-19 13:08:00.965 [main] DEBUG
me.retrodaredevil.solarthing.analytics.AnalyticsManager - Using Analytics
UUID: d0173f1c-5087-4eb7-9a78-8363488e33a4
2021-02-19 13:08:05.552 [main] INFO
me.retrodaredevil.solarthing.analytics.AnalyticsManager - Sending program
type to Google Analytics
2021-02-19 13:08:06.560 [main] DEBUG
me.retrodaredevil.solarthing.program.RoverMain - We will not attempt to
send rover analytic data because dummy file is active.
2021-02-19 13:08:11.283 [main] ERROR
me.retrodaredevil.solarthing.program.PzemShuntPacketListUpdater - Modbus
exception
me.retrodaredevil.io.modbus.handling.ErrorCodeException: Expected to get 3
as the function code, but actually got 131. With exception code 2
at
me.retrodaredevil.io.modbus.handling.HandleResponseHelper.checkResponse(HandleResponseHelper.java:17)
~[solarthing-SNAPSHOT.jar:?]
at
me.retrodaredevil.io.modbus.handling.ReadHoldingRegisters.handleResponse(ReadHoldingRegisters.java:61)
~[solarthing-SNAPSHOT.jar:?]
at
me.retrodaredevil.io.modbus.handling.ReadHoldingRegisters.handleResponse(ReadHoldingRegisters.java:13)
~[solarthing-SNAPSHOT.jar:?]
at
me.retrodaredevil.io.modbus.ModbusSlave.sendRequestMessage(ModbusSlave.java:25)
~[solarthing-SNAPSHOT.jar:?]
at
me.retrodaredevil.solarthing.solar.pzem.modbus.PzemShuntModbusSlaveRead.getHighVoltageAlarmStatus(PzemShuntModbusSlaveRead.java:60)
~[solarthing-SNAPSHOT.jar:?]
at
me.retrodaredevil.solarthing.solar.pzem.ImmutablePzemShuntStatusPacket.createFromReadTable(ImmutablePzemShuntStatusPacket.java:40)
~[solarthing-SNAPSHOT.jar:?]
at
me.retrodaredevil.solarthing.program.PzemShuntPacketListUpdater.receive(PzemShuntPacketListUpdater.java:31)
~[solarthing-SNAPSHOT.jar:?]
at
me.retrodaredevil.solarthing.packets.handling.PacketListReceiverMultiplexer.receive(PacketListReceiverMultiplexer.java:21)
~[solarthing-SNAPSHOT.jar:?]
at
me.retrodaredevil.solarthing.program.RequestMain.startRequestProgram(RequestMain.java:111)
~[solarthing-SNAPSHOT.jar:?]
at
me.retrodaredevil.solarthing.program.RoverMain.lambda$doRover$2(RoverMain.java:83)
~[solarthing-SNAPSHOT.jar:?]
at
me.retrodaredevil.solarthing.program.RoverMain.doRoverProgram(RoverMain.java:127)
[solarthing-SNAPSHOT.jar:?]
at
me.retrodaredevil.solarthing.program.RoverMain.doRover(RoverMain.java:51)
[solarthing-SNAPSHOT.jar:?]
at
me.retrodaredevil.solarthing.program.RoverMain.connectRover(RoverMain.java:103)
[solarthing-SNAPSHOT.jar:?]
at
me.retrodaredevil.solarthing.program.SolarMain.doMainCommand(SolarMain.java:204)
[solarthing-SNAPSHOT.jar:?]
at
me.retrodaredevil.solarthing.program.SolarMain.doMain(SolarMain.java:244)
[solarthing-SNAPSHOT.jar:?]
at
me.retrodaredevil.solarthing.program.SolarMain.main(SolarMain.java:272)
[solarthing-SNAPSHOT.jar:?]
2021-02-19 13:08:11.370 [main] DEBUG
me.retrodaredevil.solarthing.program.RoverPacketListUpdater - took 37ms to
read from Rover
On Fri, Feb 19, 2021 at 12:38 PM Joshua Shannon<EMAIL_ADDRESS>wrote:

Go ahead and run git pull and then compile solarthing with
./compile_and_move.sh. Then try running that.
I don't want to make another release for this since I don't know if it
works yet.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/wildmountainfarms/solarthing/issues/17#issuecomment-782330950,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPPOTU4B45HU7Y5J7J2X6LS73D3FANCNFSM4WV3MXDQ
.

Doesn't seem to matter at all what I set data id to.   Same error.   Just
FYI.
"request": [
    {
        "type": "pzem",
        "io": "config/pzem.io.json",
        "data_id": 4,
        "modbus": 2
    }

On Fri, Feb 19, 2021 at 12:38 PM Joshua Shannon<EMAIL_ADDRESS>wrote:

Go ahead and run git pull and then compile solarthing with
./compile_and_move.sh. Then try running that.
I don't want to make another release for this since I don't know if it
works yet.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/wildmountainfarms/solarthing/issues/17#issuecomment-782330950,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPPOTU4B45HU7Y5J7J2X6LS73D3FANCNFSM4WV3MXDQ
.

The data coming back looks like.
1174,55,64,0,70,0,0,0
Raw packets looks like
04 96 00 37 00 40 00 00 00 46 00 00 00 00 00 00
On Fri, Feb 19, 2021 at 12:38 PM Joshua Shannon<EMAIL_ADDRESS>wrote:

Go ahead and run git pull and then compile solarthing with
./compile_and_move.sh. Then try running that.
I don't want to make another release for this since I don't know if it
works yet.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/wildmountainfarms/solarthing/issues/17#issuecomment-782330950,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPPOTU4B45HU7Y5J7J2X6LS73D3FANCNFSM4WV3MXDQ
.

The data_id is just for SolarThing to keep track of what "sensor" is what.
Try recompiling it now after pulling and see if it works. It looks like the PZEM-003 doesn't support everything that the 017 does.

It's getting the data, but it's off a bit.
"packetType" : "PZEM_SHUNT",
"dataId" : 4,
"voltageValueRaw" : 30000,
"currentValueRaw" : 700,
"powerValueRaw" : 2,
"energyValueRaw" : null,
"highVoltageAlarmStatus" : null,
"lowVoltageAlarmStatus" : null,
"modbusAddress" : 2
More like 9.68Volts
On Fri, Feb 19, 2021 at 4:07 PM Joshua Shannon<EMAIL_ADDRESS>wrote:

The data_id is just for SolarThing to keep track of what "sensor" is what.
Try recompiling it now after pulling and see if it works. It looks like
the PZEM-003 doesn't support everything that the 017 does.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/wildmountainfarms/solarthing/issues/17#issuecomment-782467138,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPPOTWB43ZREFSBXSMVAMDS734MXANCNFSM4WV3MXDQ
.

Huh. For some reason it's reading 300V at .7A with a power value of 0.2 watts. Something is not right...
Honestly I have no idea. Maybe it needs to be calibrated? But then again, 300*0.7 does not equal 0.2, so I'm not sure.

I think the problem is
that ./core/src/main/java/me/retrodaredevil/solarthing/solar/pzem/modbus/PzemShuntModbusSlaveRead.java
needs to be read the input registers and not the holding registers.   I
tried changing the import and ReadHoldingRegsters to ReadInputRegisters but
perhaps you didn't implement that.   I tried to find the io class file but
that's where I got stumped.
On Fri, Feb 19, 2021 at 5:40 PM Joshua Shannon<EMAIL_ADDRESS>wrote:

Huh. For some reason it's reading 300V at .7A with a power value of 0.2
watts. Something is not right...
Honestly I have no idea. Maybe it needs to be calibrated? But then again,
300*0.7 does not equal 0.2, so I'm not sure.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/wildmountainfarms/solarthing/issues/17#issuecomment-782517461,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPPOTUBRJ6Q7WB4ELNNS7DS74HG7ANCNFSM4WV3MXDQ
.

You are absolutely right. I have to implement that in my io-lib library. Good catch.

Go ahead and pull then recompile. Maybe this time it will work.

Back to this issue.  I can help debug it in the am, am pretty sure what to
do but it's late...
2021-02-19 22:38:07.289 [main] ERROR
me.retrodaredevil.solarthing.program.PzemShuntPacketListUpdater - Modbus
exception
me.retrodaredevil.io.modbus.handling.ErrorCodeException: Expected to get 3
as the function code, but actually got 131. With exception code 2
at
me.retrodaredevil.io.modbus.handling.HandleResponseHelper.checkResponse(HandleResponseHelper.java:17)
~[solarthing-SNAPSHOT.jar:?]
at
me.retrodaredevil.io.modbus.handling.BaseReadRegisters.handleResponse(BaseReadRegisters.java:52)
~[solarthing-SNAPSHOT.jar:?]
at
me.retrodaredevil.io.modbus.handling.BaseReadRegisters.handleResponse(BaseReadRegisters.java:11)
~[solarthing-SNAPSHOT.jar:?]
at
me.retrodaredevil.io.modbus.ModbusSlave.sendRequestMessage(ModbusSlave.java:25)
~[solarthing-SNAPSHOT.jar:?]
at
me.retrodaredevil.solarthing.solar.pzem.modbus.PzemShuntModbusSlaveRead.getEnergyValueRaw(PzemShuntModbusSlaveRead.java:46)
~[solarthing-SNAPSHOT.jar:?]
at
me.retrodaredevil.solarthing.solar.pzem.ImmutablePzemShuntStatusPacket.createFromReadTable(ImmutablePzemShuntStatusPacket.java:39)
~[solarthing-SNAPSHOT.jar:?]
at
me.retrodaredevil.solarthing.program.PzemShuntPacketListUpdater.receive(PzemShuntPacketListUpdater.java:31)
~[solarthing-SNAPSHOT.jar:?]
at
me.retrodaredevil.solarthing.packets.handling.PacketListReceiverMultiplexer.receive(PacketListReceiverMultiplexer.java:21)
~[solarthing-SNAPSHOT.jar:?]
at
me.retrodaredevil.solarthing.program.RequestMain.startRequestProgram(RequestMain.java:111)
~[solarthing-SNAPSHOT.jar:?]
at
me.retrodaredevil.solarthing.program.RoverMain.lambda$doRover$2(RoverMain.java:83)
~[solarthing-SNAPSHOT.jar:?]
at
me.retrodaredevil.solarthing.program.RoverMain.doRoverProgram(RoverMain.java:127)
[solarthing-SNAPSHOT.jar:?]
at
me.retrodaredevil.solarthing.program.RoverMain.doRover(RoverMain.java:51)
[solarthing-SNAPSHOT.jar:?]
at
me.retrodaredevil.solarthing.program.RoverMain.connectRover(RoverMain.java:103)
[solarthing-SNAPSHOT.jar:?]
at
me.retrodaredevil.solarthing.program.SolarMain.doMainCommand(SolarMain.java:204)
[solarthing-SNAPSHOT.jar:?]
at
me.retrodaredevil.solarthing.program.SolarMain.doMain(SolarMain.java:244)
[solarthing-SNAPSHOT.jar:?]
at me.retrodaredevil.solarthing.program.SolarMain.main(SolarMain.java:272)
[solarthing-SNAPSHOT.jar:?]
On Fri, Feb 19, 2021 at 10:06 PM Joshua Shannon<EMAIL_ADDRESS>wrote:

Go ahead and pull then recompile. Maybe this time it will work.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/wildmountainfarms/solarthing/issues/17#issuecomment-782568272,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPPOTXSO3A5UXQ3ISGBAXTS75GNZANCNFSM4WV3MXDQ
.

Once again. My bad. The changes I made didn't actually change anything. Try it again.

Success!!!!   I've been playing around and yes, I drew down my battery to
7.25 volts....
"packetType" : "PZEM_SHUNT",
"dataId" : 4,
"voltageValueRaw" : 725,
"currentValueRaw" : 18,
"powerValueRaw" : 13,
"energyValueRaw" : 152,
"highVoltageAlarmStatus" : 0,
"lowVoltageAlarmStatus" : 0,
"modbusAddress" : 2
On Sat, Feb 20, 2021 at 1:09 AM Joshua Shannon<EMAIL_ADDRESS>wrote:

Once again. My bad. The changes I made didn't actually change anything.
Try it again.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/wildmountainfarms/solarthing/issues/17#issuecomment-782592061,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPPOTRPXFHNKBBDMXQZGRTS7534DANCNFSM4WV3MXDQ
.

Thought I'd let you know that I updated the readme and quickstarts a bit to not throw as much information at new users.
Also, the SolarThing GraphQL now has a query for pzem shunt data, but I haven't made a release yet. If you want, you can compile the GraphQL program yourself using ./graphql_compile_and_move.sh. I might make a release soon, I might not.

I will give it a read.   Solarthing just chugs along at the ranch w/o any
issues.  :)
On Mon, Mar 8, 2021 at 6:24 PM Joshua Shannon<EMAIL_ADDRESS>wrote:

Thought I'd let you know that I updated the readme and quickstarts a bit
to not throw as much information at new users.
Also, the SolarThing GraphQL now has a query for pzem shunt data, but I
haven't made a release yet. If you want, you can compile the GraphQL
program yourself using ./graphql_compile_and_move.sh. I might make a
release soon, I might not.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/wildmountainfarms/solarthing/issues/17#issuecomment-793279053,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPPOTTGMXSDLFDDOTQQNFDTCWBD7ANCNFSM4WV3MXDQ
.


/login/forgot issue

Hello,
When I run api /login/forgot for the 1st time it works OK and mailed is received.
when I post again getting the following error message:
[16:46:45.291]  9613 ERROR    server/api/login.js:351:15 api/Forgot Password — TypeError: internals.renderTemplate(...).then is not a function [16:46:45.291]  9613 ERROR    server/api/login.js:351:15 api/Forgot Password —     at Object.internals.sendEmail (/server/mailer.js:50:6) [16:46:45.291]  9613 ERROR    server/api/login.js:351:15 api/Forgot Password —     at /server/api/login.js:345:25 [16:46:45.291]  9613 ERROR    server/api/login.js:351:15 api/Forgot Password —     at process._tickDomainCallback (internal/process/next_tick.js:135:7)

@jobberwalker this should be working now.


can't update traffic manager profiles

I'm trying to update the DNS TTL from az, however I keep getting this error:

Endpoint name '' is invalid. Endpoint names cannot be empty or all whitespace, and must be up to 260 alphanumeric characters long. The type '' specified for endpoint '' is invalid. Valid endpoint types are: 'Microsoft.Network/trafficManagerProfiles/azureEndpoints', 'Microsoft.Network/trafficManagerProfiles/externalEndpoints', 'Microsoft.Network/trafficManagerProfiles/nestedEndpoints'. There are duplicates in the list of endpoints. The following endpoint(s) appear more than once: .

the debug output that indeed it adds to the endpoint list to the PUT request... however according to the example: Profiles - Update (Traffic Manager) | Microsoft Docs
only the sections that is being updated needs to be present in the PUT request
this is the request body for my simple update
az --debug network traffic-manager profile update -g <resG> -n <tm_profile> --ttl 60
{
    "location": "global",
    "properties": {
        "profileStatus": "Enabled",
        "endpoints": [
            {
                "properties": {
                    "endpointMonitorStatus": "Online",
                    "priority": 1,
                    "targetResourceId": "<my_id_for_the_first_endpoint's_target>",
                    "target": "<first_target's_fqdn>",
                    "weight": 1,
                    "endpointLocation": "A",
                    "endpointStatus": "Enabled"
                }
            },
            {
                "properties": {
                    "endpointMonitorStatus": "Disabled",
                    "priority": 4,
                    "targetResourceId": "<my_id_for_the_second_endpoint's_target>",
                    "target": "<second_target's_fqdn>",
                    "weight": 1,
                    "endpointLocation": "B",
                    "endpointStatus": "Disabled"
                }
            }
        ],
        "trafficRoutingMethod": "Priority",
        "monitorConfig": {"port": 80, "protocol": "TCP", "intervalInSeconds": 30, "toleratedNumberOfFailures": 3, "profileMonitorStatus": "Online", "timeoutInSeconds": 10},
        "dnsConfig": {"relativeName": "<TM_dns_name>", "ttl": 60}
    },
    "tags": {}
}

Hi @Katana-Steel , please submit this issue on the CLI side:
https://github.com/Azure/azure-cli/issues
I keep this one opened until we are sure it's CLI and not SDK. FYI @tjprescott

thank you, hopefully we can get this resolved soon.
I'm creating script to update ttl, enabling/disabling endpoints, and endpoint priority,
to move client traffic on multiple TMs between regions.

fixed since Azure-cli release 2.0.21
thank you


The "Standard numeric format strings" doc is out of date

From this conversation: https://github.com/dotnet/runtime/pull/71038#discussion_r902894078
This documentation is out of date: https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-numeric-format-strings#general-format-specifier-g
Here's the doc:
https://github.com/dotnet/docs/blob/main/docs/standard/base-types/standard-numeric-format-strings.md
@tannergooding knows the correct values returned by the formatting options.

Closing in favor of https://github.com/dotnet/docs/issues/29952.


CoE kit Upgrade Instructions documentation missing

[Enter feedback here]
The Upgrade Instructions link now goes to nowhere, need this information to update.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 3f619bbe-9303-8583-2cb9-a287811cec13
Version Independent ID: 8e256e0c-38fa-f2ca-58db-550bb6e9802a
Content: Set up the CoE Starter Kit - Power Platform
Content Source: power-platform/guidance/coe/setup.md
Service: power-platform
Sub-service: guidance
GitHub Login: @manuelap-msft
Microsoft Alias: mapichle

Here's the link with upgrade instructions https://docs.microsoft.com/en-us/power-platform/guidance/coe/after-setup
We'll get that fixed in the setup instructions document

Could you share a screenshot of the  Upgrade Instructions link that goes to nowhere so I can see what we need to fix on this page?

Oh I think I know what you mean - you mean from the CoE Starter Kit release notes (https://github.com/microsoft/coe-starter-kit/releases/tag/CoEStarterKit-January2022) not from this docs page. Sorry! Fixed that now, thanks for letting us know - we missed that

The page is here https://github.com/microsoft/coe-starter-kit/releases/tag/CoEStarterKit-January2022

ahh, you beat me to it ;-)

Oh I think I know what you mean - you mean from the CoE Starter Kit release notes (https://github.com/microsoft/coe-starter-kit/releases/tag/CoEStarterKit-January2022) not from this docs page. Sorry! Fixed that now, thanks for letting us know - we missed that

Thanks for fixing it so quickly, appreciated!

It's still pre-coffee for me so took me a while :D Thanks for letting us know!


Fix issues

What is the purpose of this PR?
This PR closes issues #13 , #12 , #10 and makes the inference pipeline more robust.
How did you implement your changes

Added the url to the cuda-compiled version of pytorch to the pyproject.toml to address #12
Changed the test-time augmentation loop in utils.py to address #13.
Hopefully, I addressed #14 by changing how the normalization is calculated. My guess is that for some FoVs, it might be possible to have no foreground, we get a NaN in the normalization value dict. I excluded nan from normalization value calculation that eventually fixes this.
I added some .DS_Store files to the data generation in the tests and added a sentence and a LOC to the inference notebook that says users should sort them out to address #10.
Switched macos CI backend from latest to 13, because it threw errors before because MPS (i.e. the apple silicon GPU) is not available on the CI.

Remaining issues
Probably #14 is not fixed by this, so it's left open.

@ngreenwald merge without review, because of vacation.


Enable the new model serialization for stream analysics

Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.ResourceManager.StreamAnalytics


Add "Highlights of 2023" article

Thank you for reviewing @annthurium, I addressed all your comments!


[Question] Split into sections

Hi @janosh,
This is not about bugs or issues, but the discussions tab is not active in this repo.
Am I thinking if this will have any sense to add to svelte-toc or if not if you mind helping me do something like that with the current implementation?
What I need:
I need to wrap headers and their contents into HTML tags (preferably of the choice).
So if I have content like this:

title

some text in paragraph

next paragraph

and one more paragraph

title

paragraph in subtitle>

3rd title

dfdfd

I would need to be wrapped like this:
<tag id='title'>

title

some text in paragraph

next paragraph

and one more paragraph

<tag id='title2>

title2

paragraph in subtitle>
</tag>
</tag>
<tag id='last-title'>

last title

some paragraph content

</tag>

 as that HTML tag of choice
Wrapping each header and its own child.
The biggest problem here is to detect 'child' of the header because, from a technical point of view, this is not the child but unrelated content.
Probably logic will need to be something like this:

find all headers
wrap all headers with a starting HTML <tag>
before starting a new tag check if is not already open, and if is - put </tag> before
still have no idea how find out how to close the last section

Don't remember deactivating the discussions tab but it's back now.
Thanks for the describing your use case! This feature sounds like it's out of scope for svelte-toc though. If the goal is to render anchors for each heading like on the demo site for this component

My advice would be to use a markdown/HTML parser that allows customizing the output based on tag. This site uses
mdsvex in with plugins rehype-autolink-headings and rehype-slug in svelte.config.js to do this:
https://github.com/janosh/svelte-toc/blob/b7f6f49a535ede380ca11d554af4bef5579cb2f2/svelte.config.js#L3-L30

Thanks, @janosh.
I was think that was breaking the bank, as the rehype has a plugin doing exactly what I need, but unfortunately is broken and not maintained. I need it for animations, so the rehype-slug will be close, but not enough.
Anyway thanks a lot!
BTW. Is it possible to detect in someway when ToC is turning to be fixed position? My use case is on top of my content currently and can't find a way to move it out at the exact time.

BTW. Is it possible to detect in someway when ToC is turning to be fixed position? My use case is on top of my content currently and can't find a way to move it out at the exact time.

Maybe this helps? https://css-tricks.com/how-to-detect-when-a-sticky-element-gets-pinned

https://css-tricks.com/how-to-detect-when-a-sticky-element-gets-pinned

Thanks again!


Cloud IdP Webview UI gets 'stuck' in lower left corner of XCreds login window

I was asked to created this. Testing XCreds 5.0 build 7130
Entra IdP webview UI is off-center, towards the lower left corner of monitor.
-Typically happens after a full reboot.
-After a logout (not a reboot) I can sometimes catch the webview UI "snap" from bottom left to center.
-Clicking "Refresh" button doe not correct the issue.
-Toggling the XCreds "Switch Login Window" button back-and-forth DOES correct the issue.
-100% reproducible on a few test Macs (including 2 different MS Entra tenants, 2 OS versions)
See attached screenshot. I cropped it horizontally so it looks squished, sorry. But you get the idea.

please test in build 7141 or later.

I have tested on several Macs including in PreStage enrollments.  A colleague and I have seen the issue persist at least a 2-3 times each in testing. Always occurs after restarts for us (never after a logout that we are aware of). It's possible that we are seeing this issue less in 7141, not sure.

@dstranathan I tested this on build 7144 and it looks to be fixed.  If you see any problems remaining for this please add a comment.

@dstranathan please confirm if you are continuing to see the web UI login window get stuck in the lower left corner or if it is rendered there at first and then snaps to the center.  My testing has showed the window initially rendering off-center but then being corrected.

Just tested on 2 Mac laptops running 7147 at (2) different orgs (different JSSs, XCReds configs, and IdPs). Only happens after a full reboot for me.

@dstranathan, after reboot does the web UI window get centered after a period of time or does it permanently remain off center?

Confirmed replicating this issue on M1 MBA13 test machine.  When switching from web UI login screen to macOS login screen and then back, web UI gets stuck off center permanently.  @twocanoes is working on a fix for v5.0.

Sorry for delay. I was never able to get it to recenter on its own.

Build 7169 appears to fix this for my test example.

I installed Build 7176 on (6) Macs in 2 orgs and I haven't been able to reproduce it. Web ui is always centered for me now. Thanks.


Add support for Rails 8.0, bump to v0.5.5

Hi,
With these changes, this gem can be used with Rails 8.0, is it possible to check and merge it?
I've ran the test suite locally for Sqlite and Postgresql and all tests pass.
I've also noticed the previous version (0.5.4) was never pushed to Rubygems, maybe because there is a git tag missing, could you think about that as well, so we don't need to reference git repos in our Gemfile.
Thanks in advance!

Thanks! Merged and released 0.5.4 and 0.5.5


feat: support SkipFirstRun service

Signed-off-by: Ryota Sakamoto<EMAIL_ADDRESS>refs: argoproj-labs/argocd-notifications#210

Sorry for delay, still catching up after vacation.


ProfilePages MVP

changed url for profile pages to /users/username for the MVP

LGTM, you'll need to resolve your merge conflicts before merging this. LMK if you need help!

@ilianac please review this when you have a sec!

i just realized i had a small bug but i just fixed it so ill commit it